2015-01-21 96 views
0

我有正在生產的Rails項目。 但是在localhost上,它會在每個POST請求中引發ActionController::InvalidAuthenticityToken。我知道它是什麼。 AuthToken可防止csrf攻擊。我在我的application_controller.rbrails protect_from_forgery引發異常

protect_from_forgery with: :exception #this line raise exception

csrf_meta_tags存在。 我在其他Rails項目中沒有任何問題。

如果我刪除參數with: :exception會話將在重新加載頁面後重置。

是什麼問題?

回答

1

問題解決了!

項目具有配置在配置/環境/ development.rb

Rails.application.routes.default_url_options[:host] = 'my_project.dev:3000'

我試過本地主機加載的項目:3000,但網址是my_project.dev:3000

1

你可以試試這個

protect_from_forgery with: :null_session 
+0

此參數重置會話。 '''protect_from_forgery'''默認具有'''::null_session'''。 – 2015-01-21 05:24:58