私はブログ プラットフォームである Rails アプリケーションを作成しており、多くの寄稿者がいます。私のUserモデルには、特定のユーザーが記事を公開する権限を持っているかどうかを示す:writerブール属性があります。一括割り当てを防ぐために、:writer属性はUserモデルのattr_accessibleの下にリストされていません。代わりに、次のような関数を作成して、書き込み権限を切り替えられるようにすることを考えました。
def toggle_writer
if User.find(:id).writer?
User.find(:id).update_attribute(:writer, false)
else
User.find(:id).update_attribute(:writer, true)
end
flash[:success] = "User permissions toggled."
redirect_to admintools_users_path
end
ただし、このアプローチに関していくつか質問があります。
- ビューからこれを呼び出すにはどうすればよいですか? link_toまたはbutton_forを介して関数を呼び出す方法はありますか?
- そのような関数をどこに配置しますか?コントローラー、またはヘルパーで?
- config/routes.rbファイルのルートを編集する必要がありますか?
よろしくお願いします。