我有以下型号:
class AccountMovement < ActiveRecord::Base
has_one :accounting_document
..
end
class AccountingDocument < ActiveRecord::Base
belongs_to :account_movement
..
end
class CreditNote < AccountingDocument
..
end
class Invoice < AccountingDocument
..
end
用户可以添加贷方通知单
<%= form_with model: @credit |f| %>
<%= f.fields_for :account_movement do |ff| %>
<div>
<%= ff.label :amount %>
<%= ff.number_field(:amount, step: 0.01, autofocus: true) %>
</div>
...
<% end %>
...
<% end %>
该网站仅支持葡萄牙语,因此我添加了以下翻译
pt:
activerecord:
attributes:
account_movement:
amount: 'Valor'
但是它无法自动转换account_movement的数量属性。当表单看起来像这样时,在has_one关系上可以正常工作
<%= form_with model: @account_movement |f| %>
<div>
<%= f.label :amount %>
<%= f.number_field(:amount, step: 0.01, autofocus: true) %>
</div>
<%= f.fields_for :credit_note do |ff| %>
...
<% end %>
...
<% end %>
我已经尝试了很多方法但没有成功
pt:
activerecord:
attributes:
account_movement:
amount: 'Valor'
credit_note/account_movement:
amount: 'Valor'
credit_note[account_movement]:
amount: 'Valor'
credit_note_account_movement:
amount: 'Valor'
我是否缺少某些内容或不自动翻译fields_for中的has_onde逆关系?
我发现了问题。它在accepts_nested_attributes_for :account_movement
处缺少AccoutingDocument
class AccountingDocument < ActiveRecord::Base
belongs_to :account_movement
accepts_nested_attributes_for :account_movement
..
end
无需在本地人处添加额外的翻译
pt:
activerecord:
attributes:
account_movement:
amount: 'Valor'