我有一个标签列中的活动管理索引页一样
tag_column :result, interactive: true, sortable: false
在我模型中,我有一个结果枚举
enum result: { winner: 0, first_runner_up: 1, second_runner_up: 2}
在索引页面中,当我点击下拉菜单时,选择选项显示为
赢家first_runner_up第二名
我们如何将它们显示为
赢家亚军亚军
谁能帮帮我...先谢谢你了
imzjd6km1#
我建议你把这些规则打破。那么你以后就可以自由地验证它们了
WINNER_OPTIONS = { winner: { title: "Winner" }, second: { title: "First Runner Up" }, third: { title: "Second Runner Up" } RESULT_ENUMS = WINNER_OPTIONS .keys .with_index .to_h enum result: RESULT_ENUMS tag_column :result, WINNER_OPTIONS.values.map{|e| e[:title]}.with_index.to_h
mjqavswn2#
那么一个帮助器方法,它将获得结果并根据您的格式返回数据,怎么样?在活动管理模型中添加一个Helper方法,用于以您的格式显示枚举值在活动管理模型文件中
tag_column :result, interactive: true, sortable: false do |#your_model| modify_data(your_model.result) end
像这样的helper方法来定制结果名称的显示
def modify_data(result) case result.to_sym when :winner 'Winner' when :first_runner_up 'First Runner Up' etc.. end
结束
2条答案
按热度按时间imzjd6km1#
我建议你把这些规则打破。那么你以后就可以自由地验证它们了
mjqavswn2#
那么一个帮助器方法,它将获得结果并根据您的格式返回数据,怎么样?
在活动管理模型中添加一个Helper方法,用于以您的格式显示枚举值
在活动管理模型文件中
像这样的helper方法来定制结果名称的显示
结束