ja nie nie dlaczego, ale następujący kod po prostu przestał działać (ja nawet nie zauważyłem, jak to się stało)Devise: Parametry niedozwolonej
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
Jak powiedziałem, everyting działało w porządku, ale teraz jestem coraz:
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
- Devise 3.5.6
PS: Teraz finnaly zrozumieć dlaczego mam pokryć mój kod z jednostek badań i użyj Travis CI
Pomogłem. Ale dlaczego? Co się stało z poprzednim kodem? – Viktor
https://github.com/plataformatec/devise proszę przejrzeć. to może ci pomóc. –
Metoda 'for' jest przestarzała od wersji 4.1. Użyj tego zamiast: – dexter