2017-02-02 23 views
1

У меня есть действие, которое фактически используется как return-url из моего payment gateway. Так как заставить его работать я установилПочему перенаправление от действия null_session не поддерживает флеш-память в рельсах

protect_from_forgery with: :null_session, only: [:verify_payment] 

    def verify_payment 
    data={} 
    params.each do |name, value| 
     data[name]=value 
    end 
    booking=Booking.find(params['booking']) 
    if booking.charge_card(data) 
     redirect_to booking_confirmation_path(booking: data["booking"]), success: "these wont show" 
    else 
     redirect_to booking_summary_path(booking_id: data["booking"]), error: "these wont show" 
    end 
    end 

может кто-нибудь сказать мне, почему вспышка не будет работать на redirect?

flash.empty? вернет true после перенаправления .. почему это?

Но если я сделать это будет работать ..

ответ

0

Вы можете назначить: уведомление, предупреждение: или общую цель: вспышки:

Попробуйте это.

redirect_to booking_confirmation_path(booking: data["booking"]),flash: { success: "Your Success Message" } 

redirect_to booking_summary_path(booking_id: data["booking"]), flash: { error: "Your Error Message" } 

Для получения дополнительной информации см. this rails guide.

+0

wont work..flash все еще пуст. Если я не использовал нулевую сессию, это сработает ... – Abhilash

+0

Проверьте двойное перенаправление. – Omkar