Rails使用jquery数据属性中截断的空格呈现object.attribute

时间:2013-09-12 09:31:20

标签: jquery ruby-on-rails-3

我的Rails视图中有一个DOM元素,我想使用Jquery访问data属性。

Rails查看示例:

<% @comments.each do |comment| %>
  <a class="comment" data-user_comment = <%= comment.content %> ><%= comment.updated_at %> - <%= comment.content %></a>
<% end %>

JQuery示例:

$('.comment').click(function(){
  alert($(this).attr("data-comment"));
})

这是非常标准的,但我的问题是如果data属性有空格,则alert只显示第一个单词。 Rails似乎没有将comment.content呈现为字符串,这是Rails的正常行为还是我错过了一些大事?!

1 个答案:

答案 0 :(得分:2)

你需要把它作为:

<a class="comment" data-user_comment = "<%= comment.content %>" ><%= comment.updated_at %> - <%= comment.content %></a>

缺少报价。在缺少引号时,只会采用第一个单词,其余的则被视为不同的属性。

所以在使用fire bug时你可以看到你的评论有:“Lorem Ipusem”data-user_comment的值是“Lorem”而Ipusem本身就变成了一个空白值的attr(Ipusem =“”)。