Color Index View では、次のようにすると、Color Show View に移動するクリック可能なリンクが生成されます。
<% @colors.each do |color| %>
<tr>
<td><%= link_to color.color_name, color_path(color) %></td>
モデルには、次のものがあります。
class Color < ActiveRecord::Base
belongs_to :product
Product Index ビューもあり、Color Show ビューへのクリック可能なリンクを作成したいのですが、うまくいきません。
これは機能しません (1 つの理由として、 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>
明らかに1行で実行することもできますが、2行の方がコードが読みやすくなります(と思います)
私が理解できないのは、誰かが質問を格下げする必要があると判断した理由です。