如何将数据属性添加到我的Rails模式窗口链接?

时间:2016-05-30 16:13:18

标签: ruby-on-rails ruby-on-rails-4 modal-dialog custom-data-attribute

我正在使用Rails 4.2.3和jquery-modal-rails gem。这样我就可以轻松地从我的页面上的DIV中生成模态窗口。我正在尝试创建一个激活模态窗口的链接,我希望这个链接有一个“data-id”属性,这样我就可以在模态窗口打开之前运行一些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>

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

1 个答案:

答案 0 :(得分:0)

你应该改为:

<%= 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}

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