Итак, у меня есть код ruby, который просто записывает все мои объекты вниз в некотором представлении
%ul
- @user.posts.each do |post|
%li {data: {role: "choosable-post"}}
= post.title
Теперь трюк заключается в том, что это не сами по себе сообщения, а только заголовки. как я могу получить идентификатор определенной должности с помощью jQuery? Конечно, User has_many :posts
поэтому каждый пост имеет свой собственный идентификатор.
Я решил, что это может начаться вот так...
$("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/
визуализировать идентификатор сообщения в атрибуте данных
%li {class: "post-container", data: {role: "choosable-post", post-id: post.id}}
получить эту клиентскую сторону с помощью jquery
$(".post-container").click ->
li = $(this)
console.log(li.data('post-id'))