Activeadmin:复选框返回对象而不是名称

时间:2015-12-28 23:44:39

标签: ruby-on-rails activeadmin

我的模特

# agency.rb
class Agency < ActiveRecord::Base
  has_many :agency_prices
  has_many :agency_cities
  has_many :prices, through: :agency_prices
  has_many :cities, through: :agency_cities
end

# price.rb
class Price < ActiveRecord::Base
  has_many :agency_prices
  has_many :agencies, through: :agency_prices
end

我的activeadmin代理商档案

# admin/agency.rb
ActiveAdmin.register Agency do
   permit_params :name,
                 city_ids: [],
                 price_ids: []

   form do |f|

     f.inputs "Agencies" do
       f.input :name
       f.input :cities, as: :check_boxes, checked: City.pluck(&:id)
       f.input :prices, as: :check_boxes, checked: Price.pluck(&:price_range)
     end
   f.actions
  end
end

我的问题

虽然对于City,复选框显示我的表“cities”的“name”字段,对于Price,复选框显示对象#<Price:0x007f6f1dbe9b58>而不是我的表格价格中的price_range字段。

City和Price的代码相同,而且我的表/联接表中的所有内容都是正确的。

你知道我能找到什么吗?

谢谢

1 个答案:

答案 0 :(得分:1)

Price模型中,添加name方法,如下所示:

def name
  self.price_range
end