【发布时间】:2014-02-10 22:51:57
【问题描述】:
在使用 Rails 4 时,我注意到它定义了一个 before_action 过滤器 set_[model],它被调用用于操作 show、edit、update 和 destroy。
它实际上非常有用,但我认为对所有成员操作都没有它没有多大意义。毕竟,如果您正在使用成员操作,您希望对该成员进行操作,因此您需要在某个时候从数据库中恢复它。
请注意,成员操作是指在members 块中的routes.rb 上配置的操作。
是否有一种直接的方法可以做到这一点,而不列出 before_action 过滤器上的所有成员操作?
编辑:澄清一下,重点是使用一些 Rails 魔法来获取所有成员路由并生成将在 :only 中传递的数组。所以我可以做类似的事情
before_action set_model only: all_member_routes
其中all_member_routes 是一段代码,它返回我的模型的所有成员路由。
甚至更好,
before_action set_model, only_member_actions: true
【问题讨论】:
标签: ruby-on-rails actioncontroller