activeadmin下拉列表将helper方法传递给集合

时间:2014-11-29 10:49:37

标签: ruby-on-rails activeadmin

如何在展示页面上使用辅助方法来显示apple而不是op1?

此示例使用辅助方法将值传递给集合 “op1”保存在db中,“apple”显示在下拉列表中。

enter image description here

应用/管理/ example.rb

form do
  f.input :name, :as => :select, :collection => test_method
end 

show do
   attributes_table_for example do
       row("Name") { example.name }
   end
end

examples_helper.rb

def test_method
   hash = {"apple"  => "op1",
           "orange" => "op2",
           "berry"  => "op3"}
   hash
end

1 个答案:

答案 0 :(得分:1)

我会将ActiveRecord模型中的哈希变量作为常量。然后你可以使用:

attributes_table_for example do
       row("Name") { MyModel::HASH_CONSTANT[example.name.to_sym] }
   end

哈希值应为op1: "apple"对,而不是"apple" => "op1"