1

以下の選択ヘルパーはどれも、選択した部分に対してのみ機能していません:

<%= f.select(:project_name, @parent_projects.collect {|p| [ p.name, p.name ] }, {:include_blank => 'Select Project'}, {:selected => "#{Project.find_by_identifier(params[:parent_id]).name}"}) %>

また

<%= f.select(:project_name, @parent_projects.collect {|p| [ p.name, p.name ] }, {:include_blank => 'Select Project'}, :selected => "#{Project.find_by_identifier(params[:parent_id]).name}") %>

エラー メッセージは表示されませんが、選択ボックスで名前が事前に選択されていません。

ここからAPIを確認しました

4

1 に答える 1

1

公式ドキュメントを参照してくださいselect-- そのメソッドには必要な魔法がさらにあります。特定のモデル/属性の選択リストを構築するためのものです。パーツを手動で構築しているため、より直接的なselect_tag方法を使用する必要があります。

select_tag('project_name',
    options_from_collection_for_select(@parent_projects,
        'name', 'name',
        Project.find_by_identifier(params[:parent_id]).name),
    :include_blank => 'Select Project')

options_from_collection_for_selectは、オプション リストを作成し、選択されたパラメーターを受け取ります。

于 2013-08-20T09:06:42.640 に答える