我正在使用Modal弹出索引页面内的显示页面.....一切正常,直到我点击产品。出于某种原因,模式
上的每个产品都会出现相同的名称我知道这是一个简单的解决方案,请帮助....新的铁路 这是我的代码:
视图
_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
<div class="row">
<% @products.each do |product| %>
<div class="span3">
<%= render :partial => 'products/show', :locals => { :product => product } %>
<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
答案 0 :(得分:3)
好问题是这个代码。
在Index.html.erb
中
应该是
<a href="#myModal<%=product.id %>" role="button" data-toggle="modal">
并将您的_show.html.erb更改为此
<div id="myModal<%=product.id%>" class="modal hide fade" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
这应该是JOB。
此外,我发现您没有使用从索引操作传递的局部变量。您使用的@product可能是个问题,请尝试使用从index.html.erb传递的'product'