2011-03-29 29 views
2

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

回答

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

在.css文件

#my_id { 
/* your style */ 
} 
+2

或在所有表格上使用:class =>'my_class' – 2011-03-29 20:13:15

-3

几个方法可以做到这一点:

form { 
    color: red; 
} 

这将抓住所有的形式和样式。

#id { 
    color: red; 
} 

这将抓取符合ID和样式的表单。

.class { 
    color: red; 
} 

这将抓住匹配类的形式和样式。

+0

他问如何将class或id添加到form_for,而不是如何在css中设置样式。 – methyl 2011-03-29 20:20:30

0

随着form_for帮手,你传递的第一个参数是由url_for助手专门用于确定哪些URL的形式提交。散列式命名参数被Ruby视为单个参数(散列),所以如果您传递一组选项作为第一个参数(例如form_tag(controller: 'my_controller', action: 'show')),则包含的任何其他选项(如:method:class)将被视为选项url_for而不是form_for,这不是你想要的。

为了解决这个问题,你可以明确地将一个散列作为第一个参数传递给form_tag,并将其他选项(比如class属性,这可能是你希望用于样式的东西) ,像这样:

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

之后,您可以使用CSS样式表单,你会与任何其他元素:

.main-form { 
    // Style rules here 
} 

有关form_for接受选项的详细信息,请参阅文档form_for a nd url_for