私は動作を停止しないでない理由はなく、次のコード(私もそれが起こったのか気づいていなかった)工夫:許可されていないパラメータ
routes.rbを
devise_for :users, components: {registrations: 'registrations', sessions: 'sessions'}
registations_controller私が言ったように.RB
class RegistrationsController < Devise::RegistrationsController
before_filter :configure_permitted_parameters
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up).push(:name, :surname, :username, :email, :avatar)
devise_parameter_sanitizer.for(:account_update).push(:name, :surname, :email, :avatar)
end
end
は、everytingは罰金の前に働いていたが、今私が取得しています:
Processing by Devise::RegistrationsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"lvuPOmTRqv6XUQ/O1g4Q9VNvzD7DgGCHocY/OlAvKHEIvWAHvlS982hxSZZzzAESCpmL5QTUcTLw/c9ME/sUFQ==", "user"=>{"name"=>"John", "surname"=>"Doe", "username"=>"foobar", "email"=>"[email protected]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Register"}
Unpermitted parameters: name, surname, email
Cofiguration:
- Railsは4.2.5
- 工夫3.5.6
PS:私はユニットテストで自分のコードをカバーしなければならない、なぜ今、私はfinnaly理解し、トラビスCIを使用する
私は助けてくれました。しかし、なぜ?以前のコードはどうなりましたか? – Viktor
https://github.com/plataformatec/deviseこちらをご覧ください。これはあなたを助けるかもしれません。 –
'for'メソッドは4.1以降で廃止されました。代わりにこれを使用してください: – dexter