使用:Rails 3.0.3,Ruby 1.9.2
这是关系:
class Person < ActiveRecord::Base
has_many :contact_methods
accepts_nested_attributes_for :contact_methods
end
class ContactMethod < ActiveRecord::Base
attr_accessible :info
belongs_to :person
end
现在,当我尝试在I18n中自定义contact_method标签时,它无法识别它。
en:
helpers:
label:
person[contact_methods_attributes]:
info: 'Custom label here'
我也尝试过:
person[contact_method_attributes]
这适用于1-1关系,例如
person[wife_attributes]:
name: 'My wife'
但不是person[wives_attributes]
提前致谢
答案 0 :(得分:4)
我是这样做的:
en:
helpers:
label:
person[contact_methods_attributes][0]:
info: 'First custom label here'
person[contact_methods_attributes][1]:
info: 'Second custom label here'
当你有无限的选项时,哪个好但不理想..我只想在表单构建器中指定一个自定义翻译键:)
en:
helpers:
label:
person[contact_methods_attributes][any]:
info: 'Custom label here'
<% fields_for :contact_methods do |builder| %>
<%= builder.label :info, t("helpers.person[contact_methods_attributes][any].info") %>
<%= builder.text_field :info %>
<% end %>
编辑: 不知道这是一个新功能,但似乎像一个魅力这样做:
en:
helpers:
label:
person:
contact_methods:
info: 'Custom label here'
答案 1 :(得分:0)
在我的Rails 3.2.13应用程序中,属性标签会从嵌入了属性的模型中自动获取。请注意,我正在使用belongs_to模型的嵌套属性,但它可能也会以相反的方式工作。
我的工作代码示例:
模特:
class User < ActiveRecord::Base
belongs_to :account
accepts_nested_attributes_for :account
# ...
end
class Account < ActiveRecord::Base
has_many :users
end
观点:
<h2><%= t(:sign_up) %></h2>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<div><%= f.label :email %><br />
<%= f.email_field :email %></div>
<%= f.fields_for :account do |account_form| %>
<div><%= account_form.label :subdomain %><br />
<%= account_form.text_field :subdomain %>.<%= request.host %> <span class="hint"></span></div>
<% end %>
translations_de.yml:
activerecord:
models:
account: Konto
user: Benutzer
attributes:
account:
name: Firmenname
subdomain: Subdomain
users: Benutzer
user:
# ... no sign of subdomain here ...
使用基于
翻译的子域标签呈现视图activerecord.attributes.account.subdomain
尼斯。 :)
我不确定,但可能需要您使用activerecord路径而不是帮助者路径。