奇怪的devise / rails问题没有发送用户名

时间:2011-02-23 22:02:38

标签: ruby-on-rails ruby-on-rails-3 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)

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:4)

您是否在用户模型中添加了:username到您的attr_accessible列表? e.g:

attr_accessible :email, :password, :password_confirmation, :username