Railsを使用してドロップダウン選択ボックスを作成するにはどうすればよいですか?クエリを実行したとします。Railsのドロップダウンボックス
@roles = Role.all
次に、@ roles.nameのすべてのボックスを表示するにはどうすればよいですか?
EDIT:ドロップダウンボックスを実装した後。選択肢にどのように対応させるのですか?私はフォームを作るべきですか?
Railsを使用してドロップダウン選択ボックスを作成するにはどうすればよいですか?クエリを実行したとします。Railsのドロップダウンボックス
@roles = Role.all
次に、@ roles.nameのすべてのボックスを表示するにはどうすればよいですか?
EDIT:ドロップダウンボックスを実装した後。選択肢にどのように対応させるのですか?私はフォームを作るべきですか?
これは、ドロップダウンでロール名を表示するドロップダウンを作成しますが、フォームで渡された値としてrole_idを使用します。
select("person", "role_id", @roles.collect {|r| [ r.name, r.id ] }, { :include_blank => true })
フォームヘルパーには、ドロップダウン選択ボックスを作成するための具体的な方法のグループがあります。通常、select_tagメソッドを使用してドロップダウンボックスを作成しますが、あなたの場合は、ActiveRecordモデルを使用してフォームを自動的に取り込むcollection_selectを使用できます。 http://guides.rubyonrails.org/form_helpers.html
これはあなたのような何かを書くことができますcollection_selectヘルパー http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#M001593
を使用します:
<%= collection_select @roles %>
ここではRailsのフォームヘルパーの詳細をご覧ください:あなたのビューで
collection_select(:user, :role_id, @roles, :id, :role_title, {:prompt => true})
と取得する
<select name="user[role_id]">
<option value="">Please select</option>
<option value="1" selected="selected">Administrator</option>
<option value="2">User</option>
<option value="3">Editor</option>
</select>
私は正確なことをする必要があります。名前はどこに行きますか?コントローラ?どのように見えるだろうか? – Ken
表示役割のテキスト(第一Pluckの引数)を示すコンボボックスなどの名前と、それはロールIDに
コントローラ
@roles = Role.pluck(:name, :id)
ビューを表し
<%= select("role", "role_id", @roles) %>
のparams [:役割] [ :role_id]がビューからコントローラに渡されました。
私が投稿しようとしていたもの。また、http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#M001592 –
で選択したAPIドキュメントを見つけることができます。人物のないIDだけを投稿するにはどうすればよいですか[role_id] .. role_id? – quantumpotato