27

如何将以下内容翻译成简单的形式?

<%= form_for(@bill) do |f| %>

<%= f.label :location_id %>
<%= f.collection_select(:location_id, @locations, :id, :location_name, 
      {:selected => @bill.location_id}) %>

我不能使用简单的关联,因为 @locations 是 where 查询的结果。

4

4 回答 4

61

尝试这个

<%= simple_form_for @bill do |f| %>
   <%= f.input :location,:collection => @locations,:label_method => :location_name,:value_method => :id,:label => "Location" ,:include_blank => false %>
   <%= f.button :submit %>
<%end%>

希望这有帮助

于 2013-07-19T11:13:37.567 回答
7

这是决赛:

<%= f.input :location_id, collection: @locations, label_method: :location_name, value_method: :id,label: "Location", include_blank: false, selected: @bill.location_id %>
于 2013-07-21T15:51:55.757 回答
2

简单来说,如果我们在位置和账单之间有关联,我们可以这样做:

<%= simple_form_for @bill do |f| %>
  <%= f.association :location, collection: @locations, priority: @bill.location %>
  <%= f.button :submit %>
<% end %>

希望这会有所帮助。

于 2013-07-17T14:52:55.957 回答
-1

在您的位置模型中,您还可以创建一个:

def to_label
  location_name
end
于 2017-11-07T01:06:41.180 回答