在我的图像索引页面上启用jquery

时间:2015-09-04 16:11:00

标签: ruby-on-rails

我有从我的图片中提取的代码,并在div中包含每个唯一 id制服 class

<% @albums.at(3)["photos"]["data"].each do |data| %>
    <div id="<%= data["id"] %>" class="myImages" data-toggle="modal" data-target="#myModal">
            <%= image_tag data["images"].first["source"] %>
    </div>
<% end %>

在这里,我的块正在从Facebook Graph API中拉出来,但基本上它给了我image_tag的网址

在同一个索引页面上我有这个模态:

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Submit</button>
      </div>
    </div>
  </div>
</div>

在我的控制器中,我有:

def index
    respond_to do |format|
        format.html
        format.js 
    end
end

现在,我想通过点击其中一个图片来替换模态的内容,就像这样jsfiddle

我一直在使用这样的jquery:

视图/图像/ select.js.erb

$(".myImages").click(function (e){
    e.preventDefault();
    $(".modal-body").html($(this).html());
  });
});

我不明白是当我将此jquery代码添加到select.js.erb时,该函数在我的图像索引页面上不起作用。我留下了一个“...”的模态体,没有被图像取代。

然而当我将其添加到 index.html.erb

<script>
  //the same jquery code
</script>

它完全像我需要它。

我想把我所有的jquery都放在另一个文件中。我错过了一些特定于rails的东西,这些东西不允许我重构(我认为这是正确的词)我的jquery就像我解释的那样?

0 个答案:

没有答案