我有一個導軌形式的下拉菜單:軌道4填入下拉值從數據庫
<%= f.select :lists, [["test1", 1], ["test2", 0]] %>
這工作得很好,但我怎樣才能使它的動態。 (與模型數據交互)
我有一個控制器,含@list = List.all
我怎麼能填充在我combobox
id
和name
動作。我一直在四處尋找,但我對此不清楚。任何人都可以幫助>
我有一個導軌形式的下拉菜單:軌道4填入下拉值從數據庫
<%= f.select :lists, [["test1", 1], ["test2", 0]] %>
這工作得很好,但我怎樣才能使它的動態。 (與模型數據交互)
我有一個控制器,含@list = List.all
我怎麼能填充在我combobox
id
和name
動作。我一直在四處尋找,但我對此不清楚。任何人都可以幫助>
您可以使用options_from_collection_for_select。
<% options = options_from_collection_for_select(@list, 'id', 'name') %>
<%= f.select :all_val, options %>
有點不足夠的聲譽在上述@learner線程響應你的問題,但有一個很好的機會,@overflow沒有在他的控制定義@list。
爲了解決我的情況,我把我等同@list的(在這種情況下@restaurants)在我的「高清新」的方法,因爲我用它來幫助創建相關的餐飲新項目。
# GET /specials/new
def new
@special = Special.new
@restaurants = Restaurant.all // Look Here
end
此外,:在原有的響應all_val應該是要在傳遞到數據庫的參數。在我的情況下,它是:restaurant_id
這爲我工作
# view
<%= form.select(:list_id) do %>
<% @list.each do |l| -%>
<%= content_tag(:option, l.name, value: l.id) %>
<% end %>
<% end %>
和
# controller
@list ||= List.all
`
如果我使用'options_from_collection_for_select(@people, '身份證',' name')'作爲'nil:NilClass'的未定義方法'map'出錯。我在做什麼錯誤 – overflow
我猜想'''@ people'''是零。你在你的問題中使用''list''''。 – mechanicalfish
對不起,這是複製粘貼錯誤,實際上我有這樣的'<%= options_from_collection_for_select(@list,'id','name')%>'但是同樣的錯誤 – overflow