如何将数据属性添加到我的 Rails 模态 window link?

How do I add a data attribute to my Rails modal window link?

我正在使用 Rails 4.2.3 和 jquery-modal-rails gem。这样我就可以轻松地从我页面上的 DIV 生成模态 windows。我正在尝试创建一个 link 来激活模式 window,我希望这个 link 有一个“data-id”属性,这样我就可以 运行 一些模态 window 打开之前的 JS。所以我尝试了

<%= link_to_modal "Edit", "#add_form", :class=>'edit_link', :data-id=>my_object_time.my_object.id %>

但我收到错误

undefined local variable or method `id' for #<#<Class:0x007fc692bc9ef8>:0x007fc69b0079b8>

它抱怨上面的行(如果我删除 link 呈现的“-id”部分,但我没有 data-id 属性)。

你应该改成这样:

<%= link_to_modal "Edit", "#add_form", :class=>'edit_link', "data-id" =>my_object_time.my_object.id %>

那是语法,你不能这样定义:

{:data-id => my_object_time.my_object.id}

因为当你使用 :data-id 时,ruby 会理解为:

:data-(减)id,所以-对于符号是未定义的,id也是未定义的!

但这会很好用:

{"data-id" => my_object_time.my_object.id}

这是一个普通的字符串,在你的情况下,让我们使用字符串