ActiveAdmin“ foreign_key”关联列的belongs_to

时间:2019-06-18 09:17:05

标签: ruby-on-rails ruby activeadmin belongs-to

我在AA中有两个资源Organization和FG_Value时遇到问题,FG_Value包含列group_unit,它可能是organization_id。所以我想显示'xyz'组织的fg_values。 我定义了路线:

resources :organizations do 
  resources :focus_group_values
end

在组织中有行动

item 'Focus Group Values', organization_focus_group_values_path(organization)

我使用了belongs_to,但是仍然得到了所有的fg值,没有为xyz过滤,并且在日志中有:

Processing by FocusGroupValuesController#index as HTML
  Parameters: {"organization_id"=>"xyz"}
SELECT  "focus_group_values".* FROM "focus_group_values"...

和路线是:

organization_focus_group_values_path    GET /organizations/:organization_id/focus_group_values(.:format)    
focus_group_values#index
ActiveAdmin.register Organization do
end
ActiveAdmin.register FocusGroupValue do
   belongs_to :feedback
   belongs_to :organization
end

我尝试在组织中使用

belongs_to :organization, param: :group_unit, optional: true

但没有成功。你可以帮帮我吗?谢谢

2 个答案:

答案 0 :(得分:0)

您不需要为活动的管理资源添加自己的路由。只需删除其他路由,即可直接使用针对“ xyz”组织访问FG_value的配置。

答案 1 :(得分:0)

对不起,我更新了我的问题,我认为它不重要,但确实如此。我在ActiveAdmin FocusGroupValue中有两个belongs_to。那是主要问题,因为只花了第一个。我将它们放入FocusGroupValuesController,然后通过关联更新了组织模型 has_many :focus_group_values, foreign_key: :group_unit, inverse_of: :organization,现在我可以获取组织“ xyz”的所有FG值。