使用 jquery 获取 ruby 对象的 id

Getting an id of an ruby object with jquery

本文关键字:id 对象 ruby jquery 获取 使用      更新时间:2023-09-26

所以我有 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)

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

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

%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未经测试,但应该给你这个想法。

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

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

将帖子 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'))