2015-01-21 36 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