ruby on rails - Rails:activeadmin重写创建操作




ruby-on-rails inherited-resources (3)

你是对的主动管理员使用InheritedResources ,你可以在page的末尾看到所有其他工具。

我有一个activeadmin资源,它具有belongs_to:user关系。

当我在活动管理员中创建模型的新实例时,我想将当前登录的用户关联为创建实例的用户(我想象的非常标准的东西)。

所以......我得到了它:

controller do
  def create
    @item = Item.new(params[:item])
    @item.user = current_curator
    super
  end 
end 

但是;)我只是想知道这是如何工作的? 我只是希望将@item变量分配给用户,然后调用super将起作用(并且确实如此)。 我也开始浏览宝石,但看不出它是如何工作的。

任何指针都会很棒。 我假设这是InheritedResources给你的东西?

谢谢!


另外一个选项:

def create
  params[:item].merge!({ user_id: current_curator.id })
  create!
end

根据AA 源代码,这对我有用:

controller do
  def call_before_create(offer)
  end
end






inherited-resources