У меня сейчас очень странная проблема: я отправляю очень стандартную форму для действия создания, и она всегда завершается ошибкой с ActionController :: InvalidAuthenticityToken.Что невероятно странно, это то, что я не касаюсь скрытого поля в форме, и когда я отправляю сообщение, я вижу authenticity_token в параметрах, но значение внутри _csrf_token отличается (я не знаю, предполагается либыть таким же, просто дикая догадка).Тем не менее, он всегда терпит неудачу, токены не совпадают.
Форма на 100% нормальная, без Ajax или multipart.Я использую warden для аутентификации, но это определенно не должно быть проблемой.
У кого-то есть идеи, по крайней мере, посмотреть?
Вот код контроллера:
class UsersController < ApplicationController
before_filter :authenticate, :only => [ :show ]
def new; end
def create
if @user = User.create( params[ :user ] )
redirect_to dashboard_url( :subdomain => @user.subdomain )
else
Rails.logger.debug @user.errors.full_messages
render :new
end
end
def show
end
end
А вот представление:
<p> Is this you ? </p>
<%= form_for @user, :url => url_for( :controller => 'users', :action => 'create' ) do |f| %>
<%= f.label :given_name, "Name" %>:
<%= f.text_field :given_name %>
<br />
<%= f.label :family_name, "Surname" %>:
<%= f.text_field :family_name %>
<br />
<%= f.label :location, "Location" %>:
<%= f.text_field :location %>
<br />
<%= f.label :gender, "Gender" %>:
<%= f.text_field :gender %>
<br />
<%= f.label :birthday, "Birthday" %>:
<%= f.text_field :birthday %>
<br />
<%= f.label :email, "Email" %>:
<%= f.text_field :email %>
<br />
<%= f.label :url, "URL" %>:
<%= f.text_field :url %>
<br />
<%= f.label :subdomain, "subdomain" %>:
<%= f.text_field :subdomain %>
<br />
<%= submit_tag "Save" %>
<% end -%>
Это обратная трассировка с двумя запросами:
Started GET "/facebook/callback?code=de9cba64ae1a3d1e667a6ad0-563636354%7CFKnAiPEMDocIONSUgkU7L1zDIj0" for 127.0.0.1 at Fri Nov 12 22:06:15 -0800 2010
Processing by SessionsController#facebook_callback as HTML
Parameters: {"code"=>"de9cba64ae1a3d1e667a6ad0-563636354|FKnAiPEMDocIONSUgkU7L1zDIj0"}
style_jam_development['users'].find({:email=>"ngw@nofeed.org"}, {}).limit(-1)
Rendered sessions/facebook_callback.html.erb within layouts/application (8.8ms)
Completed 200 OK in 1991ms (Views: 17.5ms)
Started POST "/users/create" for 127.0.0.1 at Fri Nov 12 22:06:19 -0800 2010
Processing by UsersController#create as HTML
Parameters: {"commit"=>"Save", "authenticity_token"=>"qW67SXW12n6UZj1ApJi5oy9IqWB6n8BxXmgS70s2VOA=", "utf8"=>"\342\234\223", "user"=>{"location"=>"Seattle, Washington", "url"=>"http://nofeed.org", "gender"=>"male", "subdomain"=>"", "family_name"=>"Wieland", "birthday"=>"1978-12-19", "given_name"=>"Nicholas", "email"=>"ngw@nofeed.org"}}
Completed in 0ms
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
Rendered /Users/ngw/.rvm/gems/ree-1.8.7-2010.02/gems/actionpack-3.0.1/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.8ms)
Rendered /Users/ngw/.rvm/gems/ree-1.8.7-2010.02/gems/actionpack-3.0.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (259.4ms)
Rendered /Users/ngw/.rvm/gems/ree-1.8.7-2010.02/gems/actionpack-3.0.1/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (284.8ms)