之类的旧字段。
我在尝试显示注册表单时会出现错误:
undefined method `name' for `#<User id: nil, created_at: nil,
updated_at: nil, email: nil>
提取的源(周围#8):
6 7 8 9 10 11
在用户/new.html.erb中
<div class="row">
<div class="col-md-6 col-md-offset-3">
<%= form_for(@user) do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :email %>
<%= f.email_field :email %>
<%= f.label :password %>
<%= f.password_field :password %>
<%= f.label :password_confirmation, "Confirmation" %>
<%= f.password_field :password_confirmation %>
<%= f.submit "Create my account", class: "btn btn-primary" %>
<% end %>
</div>
</div>
如果我评论一行,则可以。我已经在模型中定义了名称字段:
db/migrate/.... create_users.rb
class CreateStructure < ActiveRecord::Migration
def change
def up
drop_table :users
create_table :users do |t|
t.integer :id
t.string :name
t.string :email
t.string :password
end
create_table :model_forums do |t|
t.integer :id
t.string :name
end
end
end
end
,但它不会创建我要求的字段,并且只有诸如create_at和updated_at。
migation文件有问题,请参阅活动记录迁移
class CreateStructure < ActiveRecord::Migration
def up
create_table :users do |t|
t.integer :id
t.string :name
t.string :email
t.string :password
end
#It is not recommended to create two tables in one migration file.
create_table :model_forums do |t|
t.integer :id
t.string :name
end
end
def down
drop_table :users
end
end
然后运行 rake db:rollback
丢弃旧用户表,重新运行rake db:migrate