Я использую Devise для управления пользователями в моем приложении rails. У меня есть кнопка, доступная для пользователей admin, которая приводит к форме, которая позволяет им создавать другие учетные записи пользователей admin.Создайте нового пользователя программно с помощью Devise
Когда форма передается этот код называется:
@user = User.new(:email => params[:email], :password => params[:password], :password_confirmation => params[:password_confirmation])
@user.admin = true
@user.save
Это, кажется, не работает правильно, так как при входе, и попытаться войти в систему с новой учетной записью администратора он терпит неудачу. Я предполагаю, что приведенный выше код не является правильным способом создания нового пользователя с помощью Devise.
Любые идеи?
Edit:
Журналы
Started POST "https://stackoverflow.com/users/13/create_admin" for 127.0.0.1 at 2013-07-16 17:01:38 +0100
Processing by UsersController#create_admin as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"VpP78Zy8SAcyC1Mgg6hEjG2I5jqNzIHXQGtbjUzDYVE=", "users"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up", "id"=>"13"}
User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = 13 LIMIT 1
(0.3ms) BEGIN
(0.1ms) ROLLBACK
Rendered users/create_admin.html.erb within layouts/application (0.0ms)
Completed 200 OK in 12ms (Views: 5.3ms | ActiveRecord: 0.9ms)
Вот моя форма:
<%= form_for :users, :html => { :id => "signup-form" }, :url => create_admin_user_path do |f| %>
<div><%= f.label :email %>
<%= f.email_field :email, :autofocus => true %></div>
<div><%= f.label :password %>
<%= f.password_field :password %></div>
<div><%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation %></div>
<div class="actions">
<div><%= f.submit "Sign up", :class => "btn btn-success" %></div>
</div>
Является пользователем, которые создали в базе данных? Когда вы пытаетесь войти в новую учетную запись, указывает ли это, что пароль неверен? Вы можете запустить сброс пароля с адресом электронной почты новой учетной записи? –
Ваш администратор действительно «Пользователь», или это «AdminUser» или «Администратор»? –
Можете ли вы разместить свой Модальный пользователь? –