に私を指すください。
select
を使用すると、アプリケーションの関連部分で使用できるオブジェクトにデータを定義する必要があります。これを行う1つの方法は、モジュールを使用することです。例:
module DropDownOptions
def number_options
{"One" => 1, "Two" => 2, "Three" => 3}
end
def foo_options
{"Foo" => "Bar"}
end
end
次に、そのコードをアプリケーションフォルダに配置する必要があります。私はapp/tools/drop_down_options.rb
にそれを置いていました。
module ApplicationHelper
include DropDownOptions
end
をそして、それはあなたがビューでこれを行うことができます::
次に、あなたのヘルパーに追加することができ、あなたが戻って変換するためにハッシュを使用する必要がある場合
<%= select("post", "number_id", number_options) %>
お使いのモデルの他の方法で、あなたもそこに含めることができます。
class Post << ActiveRecord::Base
include DropDownOptions
end
そしてnumber_options
私をポストインスタンス内で利用可能になります。これを可能にする:
class Post << ActiveRecord::Base
include DropDownOptions
def number_label
number_options.invert[number_id] if number_id?
end
end
オプションをモジュールに入れることで、必要なときにいつでも使用できます。たとえば、ヘルパーメソッドの代わりにプレゼンターやデコレータを使用する場合は、そのオブジェクトにモジュールを含めます。
クラスやモジュールを定数などで作成して、システムで必要なときにいつでもこの配列からオプションを生成することができます。 – lcguida
ここに、レールでの建築用フォームの参考資料があります:http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html http://guides.rubyonrails.org/form_helpers.html – inveterateliterate