0

新的.html.erb

 Price:  <%= f.collection_select :price_ids, Price.all, :id,:name,prompt: true %> JD

控制器中:

def dress_attributes
  dress_attributes = params.require(:dress).permit(:name,:email,:phone,:description,:image,:image2,[:price_ids: []})
end

show.html.erb 中

Price: <% @dress.prices.each do |s| %>
         <%= s.name %> 
       <% end %>`

而且价格没有显示。

当我更改为时有什么collection_select问题collection_checked_boxes?它有效,但我想要collection_select.

4

1 回答 1

0

您可以将multiple: truehtml_options 作为 html_options 传递给 collection_select,如下所示。

新的.html.erb

 Price:  <%= f.collection_select :price_id, Price.all, :id,:name, {prompt: true}, {multiple: true} %> JD

在控制器中

def dress_attributes
  dress_attributes = params.require(:dress).permit(:name,:email,:phone,:description,:image,:image2,:price_id)
end

然后,在您的控制器中,您可以访问 price_id 作为params[:dress][:price_id]选定价格的数组。

于 2015-06-07T21:44:31.667 回答