Ajax在博客上实现类似功能

时间:2012-11-11 08:11:59

标签: ruby-on-rails ajax html-table

问题:Ajax的行为不应该如此。

PostIndex:

<tr>
  <td><%= post.name %></td>
  <td><%= post.created_at.strftime("%Y/%m/%d, %I:%M%p") %></td>
  <td><%= post.view %></td>
  <td id="post_like_<%= post.id %>"><%= post.like %></td>
  <td><%= link_to 'like', like_post_path(post), :remote => true %></td>
</tr>

like.js.erb:

$("#post_like_<%= post.id %>").html("<%= @post.like %>");

我只有在刷新页面后才能看到更改。 Ajax无法正常工作,但我无法找到上述代码中的问题所在。

1 个答案:

答案 0 :(得分:1)

您忘记了视图中的@。我看到$post在实例变量中,因为我看到$post.like。因此,在like.js.erb中,将post.id替换为@post.id。像:

$("#post_like_<%= @post.id %>").html("<%= @post.like %>");