0

我不知道如何将按钮添加到 link_to_add_fields,如

<%= link_to_add_fields "Add A Present", f, :presents %>

在我正在制作的 Rails 应用程序中。

我尝试class: "btn btn-mini btn-info"在任何地方添加,但我不断收到关于参数数量的错误。

例如,它适用于这一行:

<%= f.link_to_remove "Remove this present", class: "btn btn-mini btn-info" %>

提前致谢。

4

2 回答 2

6

我假设您从 rails cast 剧集http://railscasts.com/episodes/197-nested-model-form-part-2制作了这个助手。

在您的 application_helper.rb 中,您已经定义了 link_to_add_fields。大概是这样的。

def link_to_add_fields(name, f, association)

改成这个

def link_to_add_fields(name, f, association, locals={})

然后在return语句上。

link_to_function(name, "add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")", class: locals[:class])

最后,像这样使用你的新方法

<%= link_to_add_fields "Add A Present", f, :presents, class: "btn btn-mini btn-info" %>

于 2013-03-07T23:23:20.210 回答
0

根据@Aeisme 的回复,我不得不为 Rails 4.1 用户编写一个解决方案。

application_helper.rb

def link_to_add_fields(name, f, association, locals={})

link_to_add_fields 函数的返回值

link_to(name, '#', class: [locals[:class], "add_fields"], data: {id: id, fields: fields.gsub("\n", "")})
于 2014-06-06T17:59:24.967 回答