rails activeadmin如何使用action_item?

时间:2017-12-26 20:00:33

标签: ruby-on-rails activeadmin

文件不好说:

action_item :view, only: :show do
  link_to 'View on site', post_path(post) if post.published?
end

但它并没有说post_path(post)中的“post”来自哪里。 我想在这个例子中他们正在添加一个'view'自定义动作,它将在save类中执行视图member_action,并且所有这些只存在于show(详细资源显示)。 member_action方法需要资源的id(作为params [:id]传递)。首先,我认为文档中存在错误,它应该是view_post_path(...)。现在,这个未记录的“post”变量来自何处?

另一个未记载的谜团在member_action示例中:

member_action :lock, method: :put do
  resource.lock!
  redirect_to resource_path, notice: "Locked!"
end

什么是“资源”?

另一个问题:

如何覆盖编辑,销毁等现有操作?

如果activeadmin没有约95%没有记录,那么它可能非常有用。

1 个答案:

答案 0 :(得分:0)

您需要知道ActiveAdmin构建在其他gem上,包括Rails和Inherited Resources。如果您熟悉Rails(我不建议为Rails初学者推荐AA),那么您可能会将post_path识别为自动生成的URL帮助程序,它返回指向假设的帖子模型的链接。这是开源的,您可以阅读specs for action item on GitHub,您将看到正在注册的Post资源,这可能是Sean在自愿编写此文档时所考虑的。

resource来自Inherited Resources gem,您可以在README找到有关覆盖edit,destroy等的文档。

我认为documentation of action_item是合理的,如果简洁,你似乎已经理解了大部分内容。如果您认为文档有错误或希望帮助改进它,欢迎您自愿提出拉取请求。还有其他各种教程,示例应用和博客文章,您可以从wiki找到有用的链接。