Rails将属性传递给带有基础的嵌套模态

时间:2014-08-17 01:25:05

标签: ruby-on-rails modal-dialog zurb-foundation

我有以下代码。在出现的第一个模态中,我列出了所有用户的图像。当他们点击其中一个图像时,它会触发第二个模态,我希望图像的ID可供我使用。但它总是以最后一张图片的身份回归。

<div id="firstModal" class="reveal-modal" data-reveal>
<% if signed_in? %>
<h4>Your Images</h4>
<div class="dashboard-panel">
<% @assets.each do |asset| %>
<a href="#" data-reveal-id="secondModal" onclick="<% @selected_asset = asset.id %>"><%= image_tag asset.file_name.url(:dashboard).to_s %></a>
<%= asset.id %>
<% end %>
</div>
<% else %>
You don't have any images.
<% end %>
  <a class="close-reveal-modal">&#215;</a>
</div>

<div id="secondModal" class="reveal-modal" data-reveal>
  <h2>This is a second modal.</h2>
  <p>Asset id is <%= @selected_asset.inspect %></p>
  <a class="close-reveal-modal">&#215;</a>
</div>

我认为我的结构有问题,但我无法弄明白:(

1 个答案:

答案 0 :(得分:0)

第二个模态的html只生成一次。 @selected_asset的值将是循环中最后一个资产的id。一种选择是为每个图像生成一个单独的模态,如下所示:

<% @assets.each do |asset| %>
  <a href="#" data-reveal-id="secondModal-<%= asset.id %>Click</a>
  <div id="secondModal-<%= asset.id %>" class="reveal-modal" data-reveal>
    <h2>This is a second modal.</h2>
    <p>Asset id is <%= asset.id %></p>
    <a class="close-reveal-modal">&#215;</a>
  </div>
<% end %>

请注意,在模式的id中包含asset.id,因此它们都是唯一的