Rails ActiveAdmin - 在创建帖子后我希望呈现一个动作

时间:2012-02-28 18:00:11

标签: activeadmin

我想知道在ActiveAdmin上创建帖子后如何呈现操作。我的想法是在我创建一个帖子之后我想得到它的标签。我搜索了整个互联网,但没有足够的文档。

我刚看到我可以覆盖创建操作,但现在我得到了一个缺少模板的错误,有人可以在这种情况下发布一些示例代码来覆盖创建吗?

4 个答案:

答案 0 :(得分:4)

在你的帖子模型中:

after_create :get_tags


def get_tags
  tags = Post.find(:last)
  tags = tags.tag
  # return values
  self.get_tags
end

答案 1 :(得分:3)

在您的AA定义中:

controller do
    def create
        # Do your stuff
        # You can try one of this:
        # render :action => :show
        # render "path/to/template" , :layout => "active_admin"
    end
end

答案 2 :(得分:1)

我几天前遇到过类似的问题,我解决它的方式是这样的。

您模型中的

after_create :method_name

def method_name
   whatever you need to do
end

请注意,如果要更新数据库中的属性,请使用:

model.update_attributes(:attribute_name => new_value)

而不是

model.save!

我花了几天时间才发现保存不起作用。

答案 3 :(得分:0)

不是Rails模型回调的忠实拥护者,在这种情况下,我建议使用活动的管理控制器回调。

controller do
  after_create :get_tags

  def get_tags(post)
    post.get_tags
  end
end