我正在使用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属性)。
答案 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}
这是一个普通的字符串,在你的情况下,让我们使用字符串