Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引导模式中的Rails链接到_Javascript_Jquery_Ruby On Rails_Ajax_Twitter Bootstrap - Fatal编程技术网

Javascript 引导模式中的Rails链接到

Javascript 引导模式中的Rails链接到,javascript,jquery,ruby-on-rails,ajax,twitter-bootstrap,Javascript,Jquery,Ruby On Rails,Ajax,Twitter Bootstrap,我已经为一堆用户可以投票的项目做了每个循环。这些项目列在索引页面上,每个项目都作为一个按钮,单击该按钮可打开引导模式。我希望用户能够在模式中对项目进行投票,但是我很难做到这一点。以下是我所拥有的: $(function () { $(".box-inner").click(function() { $('#modal_title').empty(); id = $(this).data('id'); url = window.location.origin + '/my

我已经为一堆用户可以投票的项目做了每个循环。这些项目列在索引页面上,每个项目都作为一个按钮,单击该按钮可打开引导模式。我希望用户能够在模式中对项目进行投票,但是我很难做到这一点。以下是我所拥有的:

$(function () {
   $(".box-inner").click(function() {
   $('#modal_title').empty(); 
   id = $(this).data('id');
   url = window.location.origin + '/my_items/' + id + '/get_modal_content';

   $.ajax({
    cache: false,
    type: 'GET',
    url: url,
    data: id,
    complete: function() {
      $.getJSON(url, function (data) {
        $('#modal_title').append(data.name);
        $('#myModal').attr("data-id", id);
      });
     },
     success: function(data) 
     {
      $("#myModal").modal('show');
     }
    });
  });
});
以下是模态的外观:

<div id="myModal" class="modal fade">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">x</button>
        <h3 id="modal_title"></h3>
      </div>
      <div class="modal-body">
        <div class="technique-info-section">
         <h3>Info</h3>
         <span class="thumbs-up">
          <%= link_to like_my_item_path(**???**), method: :put, :remote => true do %>
            <i class="fa fa-thumbs-o-up"></i>
          <% end %>
         </span>
         <span class="thumbs-down">
           <%= link_to dislike_my_item_path(**???**), method: :put, :remote => true do %>
             <i class="fa fa-thumbs-o-down"></i>
            <% end %> 
         </span>
        </div>
      </div>
    </div>
   </div>
 </div>
<% @techniques.each do |technique| %>
  <li class="technique-box-outer">
    <button class="box-inner" data-id="<%= technique.id %>">
      <p class="technique-name"><%= technique.name %></p>
    </button>
  </li>
<% end %>
下面是。每个循环的外观:

<div id="myModal" class="modal fade">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">x</button>
        <h3 id="modal_title"></h3>
      </div>
      <div class="modal-body">
        <div class="technique-info-section">
         <h3>Info</h3>
         <span class="thumbs-up">
          <%= link_to like_my_item_path(**???**), method: :put, :remote => true do %>
            <i class="fa fa-thumbs-o-up"></i>
          <% end %>
         </span>
         <span class="thumbs-down">
           <%= link_to dislike_my_item_path(**???**), method: :put, :remote => true do %>
             <i class="fa fa-thumbs-o-down"></i>
            <% end %> 
         </span>
        </div>
      </div>
    </div>
   </div>
 </div>
<% @techniques.each do |technique| %>
  <li class="technique-box-outer">
    <button class="box-inner" data-id="<%= technique.id %>">
      <p class="technique-name"><%= technique.name %></p>
    </button>
  </li>
<% end %>

因此,在模态中的两个link_to路径中,如何使link_to helper方法具有@technologies.each循环中的正确项,以便将这些参数传递给我的控制器

只要在你拥有它的时候使用它,并保留它以备将来使用,就像这样:

<%= button_tag data: {id: technique.id, like_path: like_my_item_path(technique), dislike_path: dislike_my_item_path(technique) } do %>
  <%= content_tag :p, technique.name, class: 'technique-name' %>
<% end %>
作为补充说明,您可能希望将单击绑定到更高级别的元素,以避免动态替换的问题。大概是这样的:

$(document).on 'click', '.box-inner', function() {}

对太好了,我只需要将.attr改为.prop,但除此之外,它的作用就像一个符咒。非常感谢。