Ruby on Rails模型关系,产品有选项

时间:2013-04-26 11:57:10

标签: ruby-on-rails-3 database-design

我有一个型号产品,可以只有一个价格,或一个连接到一个长度的价格。我在努力解决这个问题。产品,价格和长度应该有哪些关系?我想要的结果是,当您查看具有不同长度的产品时,您应该能够从下拉列表中选择长度并更新价格。真的被困在这一点,并感谢所有的帮助!

2 个答案:

答案 0 :(得分:1)

您可以在产品和价格之间创建1:n或n:m关联。

例如,

产品有名称和颜色。 例如,价格有一定数量。

@product = Product.first
if @product.prices.count > 1
   # render your dropdown field which contains a list of all @product.prices amounts.
else
  # render @product.prices.first amount
end

视图中的渲染和更新可以通过ajax完成,就像@leef在评论中已经说过的那样。

答案 1 :(得分:0)

HTML

<ul>
  <% @products.each do |product| %>
    <li>
      <%= link to product.name, add_price_of_product_path(product),remote: true %></li>
<% end %>
</ul>

路由

resources :products do 
    member do
        get :add_price_of
    end
end

产品控制器

def add_price_of 
    #your code to add the price of the chosen product to the total price   
end

views / products 目录中添加 add_price_of.js.erb 文件 并使用java脚本代码更新html dom中的价格

如果您通知用户价格已添加

,那就太好了