def confirm_invite_new_tutor
redirect_with_msg = false
@game_school = GameSchool.find(params[:id])
existing_user_emails = params[:all_emails][:existing_user] || []
new_users = params[:param_game_school][:game_school_invites_attributes]
if existing_user_emails.present?
existing_user_emails.each do |existing_user|
// some code
end
redirect_with_msg = true
end
if new_users.present?
if @game_school.update_attributes(params[:param_game_school])
redirect_with_msg = true
else
render :invite_tutor_form
end
end
if redirect_with_msg
redirect_to @game_school, notice: "daw"
else
redirect_to @game_school
end
end
Nếu tôi thực hiện điều này, tôi đang nhận được lỗi nhưredirect_to và đưa ra với lợi nhuận
Render và/hoặc chuyển hướng được gọi nhiều lần trong hành động này. Xin lưu ý rằng bạn chỉ có thể gọi hiển thị HOẶC chuyển hướng và tối đa một lần cho mỗi hành động. Cũng lưu ý rằng không chuyển hướng cũng không kết xuất thực thi hành động, vì vậy nếu bạn muốn thoát khỏi một hành động sau khi chuyển hướng, bạn cần phải làm một cái gì đó như "redirect_to (...) và trả về".
Nếu tôi sử dụng trả về Đưa tôi đến một trang khác, và thậm chí cả tin nhắn flash không hiển thị. Cách sửa lỗi này?
còn redirect_to xyz && return thì sao? – Lee
'và' và' && '(lol) có hai ý nghĩa rất khác nhau trong Ruby về quyền ưu tiên (xem http://ruby-doc.org/core-2.3.0/doc/syntax/precedence_rdoc.html). Trong trường hợp này, bạn nên sử dụng 'và'. Đây cũng là một tài nguyên thú vị khác về chủ đề: http://devblog.avdi.org/2014/08/26/how-to-use-rubys-english-andor-operators-without-going-nuts/ – lucke84