Active Admin调用原始和覆盖创建操作

时间:2013-05-15 12:41:21

标签: ruby-on-rails-3 activeadmin

尝试覆盖Active Admin资源上的创建操作时,我看到一些奇怪的行为。我推翻这一行动的原因是我想先稍微改变请求参数。

ActiveAdmin.register User do

  controller do

    def create
      format_params

      create!
    end

    def update
      format_params

      update!
    end

    def format_params
      params[:user] = ...
    end

  end

end

我所看到的是 a 创建操作被调用两次 - 但仅在第二次是我的被覆盖版本。到那时,新记录已经创建,虽然不正确,第二次调用( 被覆盖的版本)看起来像一个重复的资源。

如果我清空自定义的#create操作并只留下一个日志记录语句,我可以看到一条记录在被调用之前仍然被创建,几乎就像有某种before_回调一样,尽管我不能在代码中找到任何这样的东西。

更奇怪 - 在重写的#update方法上一切正常 - 参数被改变了,原来的#update!方法被正确委派。

我在Rails 3.2.13上使用Active Admin 0.5.1

干杯

0 个答案:

没有答案