我需要访问以下块中的params
:
ActiveAdmin.register Discussion, namespace: :dev_panel do
raise params.inspect
...
end
我完全需要它,而不是controller
或action_item
内部。
但我正在
对于ActiveAdmin :: ResourceDSL ,未定义的局部变量或方法
params
有谁知道我该怎么做?
我的目标是能够在admin/discussions.rb
中定义这两个块:
ActiveAdmin.register Discussion, namespace: :dev_panel do
belongs_to :my_active_submission, parent_class: ClientApplication
...
end
和
ActiveAdmin.register Discussion, namespace: :dev_panel do
belongs_to :lead_submission, parent_class: ClientApplication
...
end
问题在于,AA只处理后一个块,并且表现为没有以前的块。我敢打赌,问题在于命名空间 - 我无法定义两个具有相同资源和命名空间的块。
答案 0 :(得分:1)
您是否尝试使用as:选项定义您的讨论?我有一个模型需要在许多不同的上下文中使用,所以我设置:
ActiveAdmin.register Discussion, as: 'ActiveDiscussion' do; end
ActiveAdmin.register Discussion, as: 'PoliticalDiscussion' do; end
或者您可以根据需要进行分类讨论
class ActiveDiscussion < Discussion; end
class PoliticalDiscussion < Discussion; end
然后将它们注册到ActiveAdmin。
ActiveAdmin.register ActiveDiscussion do; end
ActiveAdmin.register PoliticalDiscussion do; end
希望它有所帮助。
答案 1 :(得分:1)
在那个地方访问params技术是不可能的。寄存器块仅在加载时执行,而不是按请求执行。
写下一个完整的例子,就像你可以访问params一样,我们可能会找到另一个解决方案。