8/20-Rails調べ

■index

  • コントローラーがモデルを取得する処理
  • DBのパーティション
  • Vue:mapGetter,mapActions,Vuexについて
  • Vue:lang="pug" について
※内容は後でリライトします。
項目のみ整理しました。。。


コントロール名からモデル名を取得する処理

コントローラ名からモデル名を取得します。
#{RAILS.ROOT}/app/controllers/users_controller.rb
class UsersController < ActionController::Base
  def index
    @model_name = controller_name.classify           # モデル名の取得
    @all = @model_name.constantize.find(:all)        # モデルオブジェクトの取得
  end
end

  • コントローラ名を classify するとモデル名が得られます。
  • モデル名を constantize するとモデルオブジェクトが得られます。





■DBのパーティションについて




外に出るという表現がよくわからないのですが、MySQLの場合ですと以下のようにCREATE TABLEやALTER TABLEでパーティションを定義するかと思います。
    この場合、createdにはレコードが追加されたYYYYMM(西暦の年と月)が入るとすると、2020年4月以降のデータはすべてpoverという名前のパーティションに入ることになります。
このような指定のことをおっしゃられている感じでしょうか?
なお、MySQLの実装としては、パーティションは単に記録するファイルを分割しているだけで、その指定を行うのが「PARTITION BY」になります。もろもろ詳細については手前味噌で恐縮ですが以下のページをご覧ください。
またパーティションについて言及されている書籍ですと「ハイパフォーマンスMySQL」あたりはオススメです。質問者さんが利用されているDBがMySQLであり、オライリーの書籍に抵抗が無ければご参考までに。

MapActions,Mapgetters Vuex

mapactions,mapgettters
->getとactionのシンプルな書き方だな
Vuex:状態管理のライブラリ

mapGettersとmapActions

これも公式サイトに書いてあるんだけど、mapGettersとmapActionsが分かっていなかった。
“store.getters.doneTodosCount"でデータを参照する事もできるが、mapGetters(ゲッター · GitBook)を使用すると、“this.doneCount"でアクセスできるようになる。
...mapGetters({
  doneCount: 'doneTodosCount'
})
“this.$store.dispatch(‘increment’)“でStateのアクションを呼び出すのだが、mapActions(アクション · GitBook)を使用すると、“this.increment()“でアクションを呼び出すことができる。
  methods: {
    ...mapActions([
      'increment' // this.increment() を this.$store.dispatch('increment') にマッピングする
    ]),
    ...mapActions({
      add: 'increment' // this.add() を this.$store.dispatch('increment') にマッピングする
    })
  }

Vueの規約

nuxt.jsでは、特殊な事情がない限り3つのディレクトリにコンポーネントファイルが格納されます。layouts pagesディレクトリについては公式ドキュメントを参考にし、残りのcomponentsディレクトリについてオリジナルの規約(整理方法)を定めてます。
後々喧嘩にならならないように
  • /layouts
  • /pages
  • /components <- オリジナルの規約について
HTMLが簡単に書けるテンプレートエンジンであるPugをVue.jsで使ってみます。


-----
SSOで情報をログイン情報を保持して、OEMってなんですか?
→製造と販社を分離。他社ブランドの製品を製造すること。
仲B,アレクソン,
  • 顧客情報は顧客が書かない。OEM
  • 代理店販売、
MANO.api
----
Next Post Previous Post
No Comment
Add Comment
comment url