Я добавил имя пользователя в настройку аутентификации devise, и по какой-то причине он не вставляет имя пользователя в базу данных.База данных помещает NULL в поле имени пользователя.
Я включил код для миграции и форму, а также производственный журнал, который показывает, что она отправила фактическое имя пользователя.
Вотчто я сделал:
Итак, я добавил миграцию для добавления имени пользователя, что оказалось успешным:
class AddUsernameToUsers < ActiveRecord::Migration
def self.up
add_column :users, :username, :string
end
def self.down
remove_column :users, :username
end
end
Затем я отредактировал app / views / devise / registrations / new.html.erb ввключите текстовое поле для имени пользователя:
<h2>Sign up</h2>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<p><%= f.label :username %><br />
<%= f.text_field :username %></p>
<p><%= f.label :email %><br />
<%= f.text_field :email %></p>
<p><%= f.label :password %><br />
<%= f.password_field :password %></p>
<p><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %></p>
<p><%= f.submit "Sign up" %></p>
<% end %>
<%= render :partial => "devise/shared/links" %>
Вот журнал производства, если это поможет:
Started POST "/users" for 136.152.162.173 at Wed Feb 23 12:46:12 -0800 2011
Processing by Devise::RegistrationsController#create as HTML
Parameters: {"commit"=>"Sign up", "authenticity_token"=>"K8m6Em7IqSTFQG8aAYE4faUMsL2E46uNAllNTcsEF08=", "utf8"=>"?~\~S", "user"=>{"password_confirmation"=>"[FILTERED]", "username"=>"pyramation", "password"=>"[FILTERED]", "email"=>"dan@email.com"}}
Rendered devise/mailer/confirmation_instructions.html.erb (1.1ms)
Любая помощь очень ценится!