在颜色索引视图中,下面会生成一个可点击的链接,将我带到颜色显示视图。
<% @colors.each do |color| %>
<tr>
<td><%= link_to color.color_name, color_path(color) %></td>
在模型中,我有:
class Color < ActiveRecord::Base
belongs_to :product
我也有一个产品索引视图,我想创建一个指向彩色显示视图的可点击链接,但我无法让它工作。
这不起作用(一方面, color_name 不是颜色表中的主键:
<% @products.each do |product| %>
<tr>
<td><%= link_to product.color_name, product.color_name, color_path(color.color_name) %></td>
在模型中,我有:
class Product < ActiveRecord::Base
has_many :colors
这不起作用,当我尝试颜色索引视图时出现错误,例如:
undefined local variable or method color
有任何想法吗?
解决方案:
这是最终的工作:
<% color_id = Color.find_by_color_name(product.color_name) %>
<td><%= link_to product.color_name, color_path(color_id) %></td>
显然也可以在一行上完成,但是两行使代码更具可读性(我认为)
我不明白为什么有人认为有必要降级这个问题。