0

所以我有 ruby​​ 代码,可以简单地在某些视图中写下我的所有对象

%ul
    - @user.posts.each do |post|
        %li {data: {role: "choosable-post"}}
            = post.title

现在的诀窍是那些不是帖子本身,只是标题。如何使用 jQuery 获取特定帖子的 id?当然User has_many :posts,每个帖子都有自己的 id。

我想它可以像这样开始......

$("li[data-role=choosable-post]").onclick ->
    my_object = @(this)

但我真的不知道它是否是一个好的方向,或者如果它是如何继续......

4

3 回答 3

3

您已经在使用数据字段,在其中存储有关对象的信息非常常见:

%ul
  - @user.posts.each do |post|
    %li {data: {role: "choosable-post", id: "#{post.id}"}}
      = post.title

现在它在您选择的元素中,所以它应该是这样的:

$("li[data-role=choosable-post]").onclick ->
  my_object_id = $(this).data('id')

该 JavaScript 未经测试,但应该给你的想法。

于 2013-09-26T18:37:56.633 回答
1
%ul
  - @user.posts.each do |post|
    %li {data: {role: "choosable-post", id: "#{post.id}"}}
      = post.title

会给你id,然后,在你的 HTML 中,你应该能够找到id如下小提琴所示:http: //jsfiddle.net/gG2gs/2/

于 2013-09-26T18:45:38.107 回答
0

将帖子 ID 呈现为数据属性

%li {class: "post-container", data: {role: "choosable-post", post-id: post.id}}

用 jquery 检索那个客户端

$(".post-container").click ->
  li = $(this)
  console.log(li.data('post-id'))
于 2013-09-26T18:39:44.777 回答