3

私はbest_in_place gem を使用してレコードをインラインで編集し、country_selectを使用して選択する国のリストをレンダリングしています。best_in_place を使用して選択フィールドを編集する場合、次のようにします。

<%= best_in_place(@home, :country_name, :type => :select, :collection => [[1, "Spain"], [2, "Italy"]]) %>

ここで、country_select が持つすべての国のリストを取得し、それをコレクション パラメーターに渡したいと思います。country_select gem は、選択フィールドをレンダリングするための単純なヘルパーを提供します。

<%= country_select("home", "country_name") %>

best_in_place ヘルパーの :collection パラメータを置き換えて、country_select によって提供される国のリストを含めたいと考えています。best_in_place が [[key, value], [key, value],...] :collection への入力を期待していることは知っていますが、これを行う方法がわかりません。お知らせ下さい。ありがとう

4

3 に答える 3

5

以下を実行するだけで機能します。

<%= best_in_place @home, :country, type: :select, collection: (ActionView::Helpers::FormOptionsHelper::COUNTRIES.zip(ActionView::Helpers::FormOptionsHelper::COUNTRIES)) %>
于 2012-06-11T16:27:49.447 に答える
0

数年後にRails 4を使用している場合、これはトリックを行います:

<%= best_in_place @cart.order, :country_name, type: :select, :collection =>  ActionView::Helpers::FormOptionsHelper::COUNTRIES%>
于 2014-05-19T11:55:26.513 に答える