Railsで次のことが可能かどうか疑問に思っていました。
アプリでパラメーター [:book] を更新すると、「本がチェックアウトされました」という通知が表示されます。これはコントローラーに次のように渡されます。
def update
@book = Book.find(params[:id])
if @book.update_attributes(params[:book])
redirect_to books_path, :notice => "You have checked out this book"
else
render :action => 'show'
end
end
私は現在、誰かが本をchecks_outおよびchecks_inするときに、パラメータが更新される機会があります(私はライブラリアプリを持っています)。true または false のいずれかが渡されます。現時点では、同じメッセージが表示されます。
true か false が渡されたかどうかに応じて異なる通知を表示するメソッドを作成できますか?
def check_message
if book.check_out == true
:notice => 'You have checked out the book'
else
:notice => 'you have checked the book back in'
end
次にコントローラーで
def update
@book = Book.find(params[:id])
if @book.update_attributes(params[:book])
redirect_to books_path, check_book
else
render :action => 'show'
end
end
それは間違っていると確信していますが、次の質問は、コントローラーでそのメソッドをどのように使用するのですか?それを行うより良い方法はありますか?
アドバイス/ヘルプをいただければ幸いです
ありがとう