如何基于每个记录指定可用的ActiveScaffold操作?

时间:2012-01-19 00:45:50

标签: ruby-on-rails activescaffold

我的Rails 2应用程序中有一个非常简单的管理控制器,它显示模型只读的所有记录:

class Admin::InspectionsController < ApplicationController

  active_scaffold :inspections do |config|
    [:create, :update, :delete].each {|a| config.actions.exclude a}
    config.actions.exclude :nested
  end
end

我希望这些模型对象可编辑,但前提是它们处于某种状态(即,在它们被批准之前)。我可以通过删除:排除列表中的更新来为所有Inspections执行此操作,但我不想启用编辑批发。

有没有办法为ActiveScaffold指定条件操作?

1 个答案:

答案 0 :(得分:2)

我认为你正在寻找这个:https://github.com/activescaffold/active_scaffold/wiki/Security。前往'模型方法:限制任何其他'

简而言之,您启用所有操作,然后在模型定义中添加方法以切换每条记录的所述操作,如链接中所述。