1

我希望我的 active_admin 成员操作接受 GET 和 POST 请求。我该怎么办?

这不起作用:

member_action :stats, :method => [:get, :post] do

如果我们不指定方法,它假定它是:get(查看源,默认设置为:get)

我如何以 DRY 的方式进行操作?我可以写两次相同的函数:

member_action :stats, :method => :post do

member_action :stats, :method => :get do

但如果我不得不这样做,我会感觉非常糟糕!

4

1 回答 1

2

简单的答案:你不能。使用 member_action 时,您只是创建了一个仅支持一个动词的 AA:ControllerAction 实例。

但是有希望:),你可以用更有意义的动词来写你的成员动作(它有副作用吗?POST,它应该是可收藏的吗?GET)然后打开你的 routes.rb 并添加如下内容:

namespace :admin do
  resources :your_resource do
    get 'stats', :on => :member
    post 'stats', :on => :member
  end
end
于 2012-12-21T14:29:23.010 回答