「問題」と呼ばれるリソースの通常の CRUD アクションを備えたコントローラーがあります。Issue テーブルには、各インスタンスの状態を保存するための published というブール値があります。問題が公開されたブール値を 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 アプリです。これらのアプローチのいずれか (またはまったく異なるもの) が最適かどうかについての洞察をいただければ幸いです。