我有以下型號:Rails的使用belongs_to的關聯選擇標籤
產品:
class Product < ActiveRecord::Base
belongs_to :user
...
end
用戶
class User < ActiveRecord::Base
has_many :products
end
在我的產品查看我需要一個下拉的用戶列表,並當用戶被選中時,它應該與該特定產品相關聯。
這是我的看法:
<%= form_tag (update_user_products_path) do %>
<%@products.each do |product| %>
<div class = "prod">
<a href='<%= recommendations_path(:product_id => product.id, :rating_set_id => params[:rating_set_id]) %>' target="_blank"><img src='<%= product.cover_img %>' class='product_image_prods'></img></a>
<div class= "title"><small><b><%= link_to truncate(product.title, :length =>30), recommendations_path(:product_id => product.id, :rating_set_id => params[:rating_set_id]), :target => '_blank' %></b></small></div>
<br/>
<div><em>Current Rating: <%= product.rating %> </em></div>
<%= hidden_field_tag :product_id, product.id %>
<%= select_tag "user_id", options_for_select(User.all.collect {|u| [ u.name, u.id ] })%>
</div>
<% end %>
<%= submit_tag %>
<% end %>
我很困惑,我是否應該使用的form_tag和更新Product.user_id,還是應該在我的產品使用nested_attributes用戶模式的?
UPDATE:
產品控制器動作:
def update_user
@product = Product.find(params["product_id"])
@product.update_attribute(:user_id, params[:user_id])
redirect_to :back, :flash => { :notice => "Updated users" }
end
也更新了我的看法。如何使用正確的user_id更新所有產品記錄。目前,當我提交我的時候,它只更新了1個產品記錄。
你打算如何聯繫他們?與Ajax或表單提交? – 2013-02-08 21:18:50
表單提交。 – Yogzzz 2013-02-08 21:26:20
請參閱我更新的問題。 – Yogzzz 2013-02-08 21:40:27