2011-03-29 37 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