所以我有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)
但我真的不知道它是否是一个好的方向,或者如果它是如何继续......
答案 0 :(得分: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未经测试,但应该给你一个想法。
答案 1 :(得分: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/
答案 2 :(得分: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'))