アプリケーションの認証システムを構築しようとしています
ユーザーを登録するには、フォームに記入して送信し、user#signup を呼び出します
def signup
@user = User.new(params[:user])
@user.password(params[:user][:password])
@user.save
end`
私のユーザーモデルには含まれています
def password(pass)
@password=pass
self.salt = User.random_string(10)
self.hashed_password = User.encrypt(@password, self.salt)
end
デバッグしようとしたときに、@user ハッシュに何が含まれているかを確認しました。
@user = User.new(params[:user])
ハッシュに空の「id」、「hashed_password」、および「salt」(およびタイムスタンプ) 以外のパラメーターが含まれた後@user.password(params[:user][:password])
ハッシュに「hashed_password」と「salt」の値が含まれるようになった後@user.save が返す
UsersController#signup の ArgumentError
引数の数が間違っています (1 に対して 0)
スタックトレース
Started POST "/users/signup" for 127.0.0.1 at Fri Oct 05 14:23:49 +1000 2012
Processing by UsersController#signup as HTML
Parameters: {"user"=>{"last_name"=>"last", "first_name"=>"first", "login"=>"myusername", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "email"=>"me@gmail.com", "dob(1i)"=>"1980", "dob(2i)"=>"4", "dob(3i)"=>"2"}, "authenticity_token"=>"R8/BNPox9F9rkUXZQ84xjnsplRjqLJYe35EtGjKEAWk=", "utf8"=>"✓", "commit"=>"Create User"}
(0.1ms) begin transaction
(0.0ms) rollback transaction
Completed 500 Internal Server Error in 10ms
ArgumentError (wrong number of arguments (0 for 1)):
app/controllers/users_controller.rb:17:in `signup'
app/controllers/users_controller.rb:16:in `signup'
Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.1ms)
Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.1ms)
Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (7.8ms)
何か案が?