2012-10-22 83 views
77

自定義文本我想在form_for顯示標籤:鋼軌的form_for標籤

<div class="field"> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
</div> 

這將生成標籤「名稱」,但我希望它是「您的姓名」。我該如何改變它?

回答

143

第二個參數label助手將允許您設置自定義文本。

<%= f.label :name, 'Your Name' %> 

使用Ruby on Rails Documentation來查找輔助方法。

+1

謝謝!你能不能讓我知道我在文檔中如何查找類似這樣的東西? –

+2

只需轉到上面的鏈接,然後在搜索框中輸入您要查找的方法即可。 '標籤'列在'ActionView :: Helpers :: FormBuilder'和'ActionView :: Helpers :: FormHelper'下面。 'ActionView :: Helpers :: FormBuilder'是我們感興趣的,但沒有描述。如果你看看方法聲明,你可以看到第二個參數是「text」。在這個例子中,它並不是非常簡單。但是那個文檔網站是非常好的。 – gylaz

+0

我明白了,謝謝! –

23

您可以通過i18n指定自定義標籤文字。在config/locales/en.yml,並假設您的用戶模型被命名爲user,你可以添加以下內容:

helpers: 
    label: 
     user: 
     name: Your Name 

這將允許您使用

<%= f.label :name %> 

保持,而不必硬編碼Your Name

有關i18n的更多信息,請參閱this。關於label的文檔參考this

0

On Rails 5.1.0上面的接受的答案不起作用。

傳遞的第一個參數可以用作自定義標籤。

「<%= f.label:手機, 」手機號碼:「 %>」