モーダルを使用して、インデックス ページ内に表示ページをポップアップ表示しています.....表示ページのパーシャルで @product.name を使用し始めるまで、すべて正常に動作します。
次のエラーが表示されます。
undefined method `name' for nil:NilClass
私はそれが簡単な修正であることを知っています、助けてください.... Railsの初心者これは私のコードです:
ビュー
_show.html.erb
<div id="myModal" class="modal hide fade" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="content-inner hero-unit">
<h1 class="pump-up center">
<br>
<strong>Coming Soon.</strong></h1>
<br><br>
<p>
<b>Name: </b>
**<%= @product.name %>**
</p>
</div>
</div>
index.html.erb
<%= render :partial => "show", :locals => { :product => @product } %>
<div class="row">
<% @products.each do |product| %>
<div class="span3">
<a href="#myModal" role="button" data-toggle="modal">
<%=(image_tag product.photo(:medium))%></a>
</div>
<% end %>
</div>
モデル
product.rb
class Product < ActiveRecord::Base
attr_accessible :name, :photo
end
コントローラ
products_controller.rb
class ProductsController < ApplicationController
def show
@product = Product.find(params[:id])
end
def index
@products = Product.all
end
end