次のコントローラーメソッドがあるとします。
def create
@client = User.find(params[:client][:id])
respond_to do |format|
if @client.present? && @client.add_manager(current_user)
format.html { redirect_to clients_path, notice: "Successfully added manager" }
else
format.html { redirect_to clients_path, error: "Could not find client" }
end
end
end
本番環境で「問題が発生しました」となる RuntimeError をスローする代わりに、else ブロックでこれを適切に失敗させるにはどうすればよいですか?
def add_manager(user)
raise "Already a manager" if self.manager_users.include?(user)
self.manager_users << user if user.trainer?
end
コードですか…