0

我在 form_for 中使用了 collection_select,但是选项未显示在浏览器中(空选择框),但存在于调试器视图中。(这发生在 chrome 和 IE10 中)。

看法:

<%= form_for(@lot) do |f| %>
<%= f.label :client_id, "Client" %>
<%= f.select :client_id, collection_select(:lot, :client_id, Client.all, :id, :org, :include_blank => "Please select") %>

渲染页面源:

<label for="lot_client_id">Client</label>
<select id="lot_client_id" name="lot[client_id]"></select>
<option value="">Please select</option>
<option selected="selected" value="1">Client 1</option>
<option value="2">client 2</option>

控制器:

def new
  @lot = Lot.new(:client_id => 1)
end

任何见解将不胜感激,谢谢,

4

3 回答 3

1

你可以试试这个,例如。

<%= f.collection_select(:category_id, Category.all,:id,:name, :required=>true) %>
于 2013-08-30T11:21:31.230 回答
0

collection_select 也是一种formHelper,它返回一个 select 和 options 元素,试试:

<%= f.collection_select(:lot, :client_id, Client.all, :id, :org, :include_blank => "Please select") %>

反而

于 2013-08-30T11:25:54.553 回答
0

您在 select 帮助器中呈现 collection_select 帮助器,这是错误的。你必须这样做:

<%= f.collection_select(:client_id, Client.all, :id, :org, :include_blank => "Please select") %>
于 2013-08-30T11:28:14.553 回答