对所有子资源执行 before_filter/before_action
execute before_filter/before_action for all subresources
我有一个模型和一个控制器'Parent'。它有一堆 has_many
关系:child人、汽车、食物等,每个人都有一个控制器。
Parent 有一个名为 'dead' 的字段。当 dead: true
时,我希望所有 children 关系在其 #show
和 #index
页面上显示特定消息。
我可以在任何地方放很多 if statements
我想要支票
if self.parent.dead
<show special message>
end
更简洁的方法是将其放在 before_filter
中。尽管如此,我仍需要为每个 child 控制器执行此操作。所以我想问题是,是否有一种干净的方法来为所有相关记录执行某些操作?我想要一种有点类似于 dependent: :destroy
的行为,只是我实际上并没有删除任何东西,我只想对所有相关记录执行 before_filter
。
谢谢!
您可以在关注中定义它,并且可以将该关注包含在您想要在其中显示消息的任何子控制器中。
我有一个模型和一个控制器'Parent'。它有一堆 has_many
关系:child人、汽车、食物等,每个人都有一个控制器。
Parent 有一个名为 'dead' 的字段。当 dead: true
时,我希望所有 children 关系在其 #show
和 #index
页面上显示特定消息。
我可以在任何地方放很多 if statements
我想要支票
if self.parent.dead
<show special message>
end
更简洁的方法是将其放在 before_filter
中。尽管如此,我仍需要为每个 child 控制器执行此操作。所以我想问题是,是否有一种干净的方法来为所有相关记录执行某些操作?我想要一种有点类似于 dependent: :destroy
的行为,只是我实际上并没有删除任何东西,我只想对所有相关记录执行 before_filter
。
谢谢!
您可以在关注中定义它,并且可以将该关注包含在您想要在其中显示消息的任何子控制器中。