Я прошел через railscast 270 и внедрил базовую форму регистрации для пользователей (в этом приложении под названием players
). Формы работают нормально, но когда я пытаюсь аутентифицироваться над json, я получаю ошибки. Есть какие нибудь идеи как это починить?Rails 3.1 аутентификация через json failing
POST
запрос http://localhost:3000/players
с телом:
{
"email": "[email protected]",
"username": "jaaaack",
"password": "abc123",
"password_confirmation": "abc123"
}
отображает ошибки:
<h2>Form is invalid</h2>
<ul>
<li>Password digest can't be blank</li>
<li>Password can't be blank</li>
</ul>
players_controller.rb
class PlayersController < ApplicationController
def new
@player = Player.new
end
def create
@player = Player.new(params[:player])
if @player.save
redirect_to root_url, :notice => "Signed up!"
else
render "new"
end
end
end
player.rb
class Player < ActiveRecord::Base
attr_accessible :username, :email, :password, :password_confirmation
has_secure_password
validates_presence_of :password, :on => :create
validates_presence_of :email
validates_presence_of :username
validates_uniqueness_of :email
validates_uniqueness_of :username
end
routes.rb
get "sign_up" => "players#new", :as => "sign_up"
resources :players, :only => [:create]
root :to => 'home#index'
Вы совершенно правы - спасибо Крис. Мой json был взломан; Я решил использовать подход '@player = Player.new (params). – Jack
это просто спасло мою жизнь – Kathan