我有一个控制器,它对一个名为“问题”的资源具有正常的 CRUD 操作。问题表有一个名为已发布的布尔值,用于保存每个实例的状态。当一个问题将发布的布尔值设置为 true 时,问题的所有其他实例都应设置为 false。
我的问题是关于issues_controller.rb。现在,我没有将已发布的布尔值列为 attr_accessible。我的想法是我的视图中有一个按钮可以路由到特定的操作:
def publish
// before_filter to set all the issues' publish column to false
// update_attribute to set publish column to true
end
def surpress
// update_attribute to set this issues publish column to false
end
在进行了一些研究并重新考虑了我的方法之后,我认为创建某种新的控制器可能会更好——published_issues_controller.rb 使用更多资源丰富的路由:
def create
// same as the publish method above
end
def destroy
// same as surpress method above
end
这是我的第一个 Rails 应用程序 - 任何关于这些方法(或完全不同的方法)是否最好的任何见解都将不胜感激。