Decent Exposure Gem – 繰り返しのインスタンス変数に別れを告げる

導入

ギットハブ: まともな露出の宝石
Decent Exposure を使用すると、インスタンス変数を繰り返す代わりに、コントローラーのアクション全体で使用できる公開変数を作成できます。公開された変数はビューからもアクセスでき、結果の値を記憶します。言い換えれば、これはコントローラーで宣言型インターフェイスを作成するためのヘルパーです。

いくつかのポイント

  • カプセル化の改善
  • ビューの変数はコントローラーの上部に表示されます
  • Strong_parameters、デコレータとの互換性
  • コードの匂いを暴露します。

ここを見てください: http://c2.com/cgi/wiki?CodeSmell

Rails アプリで適切な露出の gem を使用するためのヒント

  • 宝石を追加する 「まともな露出」 Gemfile にアクセスし、バンドルのインストールを実行します。
  • コントローラーの使い方 まともな露出 次のようになります:

まともな露出の宝石

  • デフォルトでは、機密性の高いモデル属性を誤って更新することを防ぐ方法として、適切な露出が含まれており、すべてのパラメータをホワイトリストに登録する必要があります。強力なパラメータを渡すためのサポートが組み込まれています。
  • It deals with overexposure.The ideal number of exposures is two per controller
    (1 -> singular resource, e.g. item and 2 -> plural collections e.g. items).
  • コントローラー クラスの最上位がエクスポーズ ステートメントで混雑している場合、エクスポーズする変数がビューで使用されない可能性がある、および複数の責任を持つコントローラーなど、2 つのコード臭が発生する可能性があります。
  • We can utilize expose with block feature to decorate the object:
    expose(:item) { |default| ItemDecorator.new(default) }
  • モデルクラスが Blog::Post のような名前空間によってスコープされている場合は、model を使用して公開呼び出しでそれを指定する必要があります。

    class Blog::PostsController < ApplicationController
    expose(:post, model: Blog::Post)
    終わり

いくつかのリソース

API の変更: 新しいバージョンでの API の変更点
レールキャスト: まともな露出
きちんとした装飾: まともな装飾の宝石
ブログ: コントローラーとビューの結合を減らす方法

乞うご期待!

Thanks,

ルバイブ・シージェイ
シニア Ruby on Rails 開発者 

最新のアップデートを購読する

関連記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

jaJapanese