我正在使用 activeadmin (1.0.0.pre2)。
在我的模型中,我有字段,里面装满了标签。我使用方法" translate_name"在应用程序中翻译此标签。在表单字段值中(如此.. i18n for select boxes)
在 activeadmin 中,我使用自定义表单只选择一些字段。
这是我的activeadmin代码......
index do
column :user
column :user_surname
column :service
column :patient_type
column :description
actions
end
form do |f|
if f.object.errors.size >= 1
f.inputs "Errors" do
f.object.errors.full_messages.join('|')
end
end
f.semantic_errors # shows errors on :base
f.inputs :user
f.inputs :service
f.inputs :patient_type
f.inputs :postal_code
f.inputs :availability
f.inputs :date
f.inputs :estimated_period
f.inputs :description
f.actions # adds the 'Submit' and 'Cancel' buttons
end
服务 y patient_type 与嵌套资源完全相同ActiveAdmin customizing the form for belongs_to
activeadmin 不要翻译此标记。
有什么想法解决这个问题吗?
感谢。
答案 0 :(得分:1)
在Formtastic中,您可以在模型上定义to_label
方法
在渲染选择字段选项时使用。此外,ActiveAdmin将调用
搜索对象名称时的各种方法,例如
display_name
。请参阅Index as a Table文档。
将to_label
和display_name
方法添加到您的Service类应该
正确翻译上面突出显示的值:
class Service < ActiveRecord::Base
def translated_name
I18n.t(name)
end
# method used when creating Formtastic select options
def to_label
translated_name
end
# method used for displaying model names in ActiveAdmin
def display_name
translated_name
end
end
ActiveAdmin检查对象以获取以下方法以显示名称。最经常
使用name
方法。
display_name
full_name
name
username
login
title
email
to_s