将CSS样式添加到Rails 3中的form_tag

时间:2011-03-29 20:03:24

标签: ruby-on-rails css

我有一个Rails应用程序,我使用的自定义样式表对Rails <form>帮助程序生成的form_tag标记没有影响。有人能指出一些代码或示例,说明如何将CSS样式添加到form_tag

3 个答案:

答案 0 :(得分:5)

<% form_tag {:controller => 'my_controller', :action => 'my_action'}, :id => 'my_id' do %>

在.css文件中

#my_id {
 /* your style */
}

答案 1 :(得分:0)

使用form_for帮助程序,您传递的第一个参数由url_for帮助程序专门用于确定将表单提交到的URL。哈希样式的命名参数被Ruby视为单个参数(哈希),因此如果您传递一组选项作为第一个参数(例如form_tag(controller: 'my_controller', action: 'show')),则包含任何其他选项(如{{1} }或:method)将被视为:class的选项,而不是url_for的选项,这不是您想要的。

要解决此问题,您可以显式将散列作为第一个参数传递给form_for,然后将您的其他选项(例如class属性,可能是您想要用于样式的那个)放在外面那个哈希,就像这样:

form_tag

之后,您可以像使用任何其他元素一样使用css来设置表单样式:

<% form_tag {controller: 'my_controller', action: 'show'}, class: 'main-form' do %>
  <!-- Form content here -->
<% end %>

有关.main-form { // Style rules here } 接受的选项的详细信息,请参阅form_forurl_for的文档。

答案 2 :(得分:-3)

您可以采取以下几种方式:

form {
  color: red;
}

这将获取所有表单并为其设置样式。

#id {
  color: red;
}

这将获取与ID匹配的表单并为其设置样式。

.class {
  color: red;
}

这将获取与该类匹配的表单并为其设置样式。