2012-02-15 53 views
9

我想申请一类由button_to生成的表单中的Rails 3将类添加到生成的表单的正确button_to语法是什么?

:class选项设置类提交按钮所以docs告诉我们使用:form_class一类适用于形式。

E.g.

<%= button_to 'x', user_contact_path(@user, contact), :method => :delete, :form_class => "delete" %> 

这只是将属性form_class="delete"添加到按钮元素。我尝试过使用:html_options等等的各种组合。

任何人都知道如何做到这一点?

回答

15

该方法对我来说工作得很好。我能够做到:

<%= button_to "Hello", root_url, :method => :get, :form_class => "my_class" %> 

上述生成以下内容:

<form action="http://localhost:3000/" class="my_class" method="get"> 
    <div><input type="submit" value="Hello"></div> 
</form> 

然而,这是Rails的3.1作为你的问题点的链接,同样不会对Rails 3.0的工作.x自form class is hard coded

从url_helper代码:

("<form method=\"#{form_method}\" action=\"#{html_escape(url)}\" 
    #{"data-remote=\"true\"" if remote} class=\"button_to\"><div>" + 
    method_tag + tag("input", html_options) + request_token_tag + 
    "</div></form>" 
).html_safe 
+1

感谢Syed,非常正确 - 这是硬编码,因为我使用3.0.7我认为。 – digitalWestie 2012-02-15 16:28:58

+2

我实际上在今天之前不知道这一点。感谢你的回答! – 2012-02-15 19:36:16

0

尝试

<%= button_to 'x', user_contact_path(@user, contact), {:method => :delete, :form_class => "delete"} %> 

这迫使:form_class => "delete"options散列而不是html_options哈希的一部分。

+0

HMN,这个语法并不为我工作。必须与我的版本的轨道有关。 – digitalWestie 2012-02-15 16:26:38

相关问题