Rails 3 Active Admin将预设值添加到新记录中

leo*_*nel 8 ruby-on-rails-3 activeadmin

我试图从控制器和活动的管理覆盖控制器这样做,我无法使它工作.

用户创建网站.current_user具有id属性的网站具有user_id属性

因此,当我创建一个新网站时,我想将current_user.id添加到website.user_id中.我不能.

谁知道怎么样?

现在我需要新的/创建操作,但我也可能需要在编辑/更新操作上.

mal*_*cke 12

这似乎对我有用:

ActiveAdmin.register Website do

  controller do
    # Do some custom stuff on GET /admin/websites/*/edit
    def edit
      super do |format|
        # Do what you want here ...
        @website.user = current_user
      end
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

您应该能够以相同的方式覆盖其他控制器操作.


Dav*_*son 11

ActiveAdmin.register Model do

  # also look in to before_create if hidden on form
  before_build do |record|
    record.user = current_user
  end

end
Run Code Online (Sandbox Code Playgroud)

请参阅https://github.com/activeadmin/activeadmin/blob/master/lib/active_admin/resource_dsl.rb#L156