rails jquery show hide with div和span id not working

时间:2018-04-04 13:54:36

标签: jquery ruby-on-rails

我只需要问......它差不多一周了,我无法解决这个错误。

我有微博饲料和评论。所有评论都显示在相应的微博中。

我想显示/隐藏评论'使用jquery但所有评论都会在所有微博中显示。

我想我的问题出现在咖啡文件上,点击" Mostrar"所有微博都会立即显示其评论。

comments.coffee

$(document).on 'turbolinks:load', ->
  $('span[id]').click ->
    event.preventDefault()
    $('div[id]').fadeToggle()
    return
  return

comments.scss

div.ocultar { display: none; }

_micropost.html.erb

<% if micropost.comments.any? %>
  <span id="m-<%= micropost.id %>" ><%= link_to "Mostrar", "" %></span>
  <div id="m-<%= micropost.id %>" class="ocultar">
    <%= render micropost.comments, micropost: micropost %>
  </div>
<% end %>

comments_controller.rb

def show
    @comment = Comment.find(comment_params)
end

2 个答案:

答案 0 :(得分:0)

只需更改 comments.coffee 文件的第4行

$('div#' + $(this).attr('id')).fadeToggle()

Here's a working example

答案 1 :(得分:0)

在comments.coffee中更新

$(document).on 'turbolinks:load', ->
  $('span[id]').click ->
    event.preventDefault()
    $('div#' + $(this).attr('id')).fadeToggle()
    return
  return