2012-07-18 13 views
0

我正在編寫一個網頁,我需要有一些單選按鈕供您選擇。在Rails 3的en.yml中指定標籤值

的代碼如下:

- Person.food_type.options[:flags].each do |cs| 
    = radio_button_tag "Person[food_type]", cs, @Person.food_type == cs ? true : false 
    = label_tag(:food_type,cs.to_s.capitalize, :class => "checkbox_label") 

對於獲取生成的每個標籤,我想指定在 en.yml文件該標籤的值。

如何在en.yml中定義這些標籤值?

例如,代替標籤之中:

[單選按鈕] spicyfood,

我想它是:

[單選按鈕]辛辣食物。

回答

1

你能不能做這樣的事情:

- Person.food_type.options[:flags].each do |cs| 
    = radio_button_tag "Person[food_type]", cs, @Person.food_type == cs ? true : false 
    = label_tag(:food_type,t('.label_#{cs}'), :class => "checkbox_label") 

和你.yml文件中添加值。

您還可以在模型中更改或創建您的to_s方法。

+0

我試過上面的修改,用雙引號而不是單引號。 但在我en.yml 如果我寫 XYZ: 中國:「辛辣的食物」 它不會反映changes.Not知道我做錯了。 – arkiver 2012-07-18 14:04:57

+0

在生成的代碼中,您應該添加類似「缺少的翻譯:en.my_view.label_abc」,您應該在.yml中添加缺失的翻譯。請參閱此處的文檔:http://guides.rubyonrails.org/i18n.html。 – Dougui 2012-07-18 15:28:48

+0

我用過: = label_tag(:food_type,t(cs),:class =>「checkbox_label」) 在.yml中定義了它的值並且它工作。謝謝! – arkiver 2012-07-19 06:43:26

相關問題