在 Rails 中添加了列,未记录数据
Added Column in Rails, Data isn't recorded
我已经遇到同样的问题一个月了,找不到解决办法。
每当我向我的数据库中添加一个列时,该列不记录信息。我可以在我的表单中将信息传递给它,但这永远不会 return。
验证 return 一个错误,好像表单的那个字段是空的。
我已经尝试过 db:rollback、drop/create/migrate 和其他。
这是我的初始迁移,一切正常:
class CreateRequests < ActiveRecord::Migration[5.0]
def change
create_table :requests do |t|
t.string :library
t.string :librarian
t.string :program
t.string :email
t.string :phone
t.string :date
t.string :time
t.timestamps
end
end
end
这是我添加的两个迁移:
class AddAddressColumnToRequests < ActiveRecord::Migration[5.0]
def change
add_column :requests, :address, :string
end
end
和
class AddConfirmationColumnToRequests < ActiveRecord::Migration[5.0]
def change
add_column :requests, :confirmation, :boolean
end
end
这一直是我的祸根。让我知道还需要提供什么。
谢谢你。
确保在强参数中允许 address
和 confirmation
。代码应如下所示:
private
# Using a private method to encapsulate the permissible parameters is
# a good pattern since you'll be able to reuse the same permit
# list between create and update. Also, you can specialize this method
# with per-user checking of permissible attributes.
def request_params
params.require(:request).permit(:library, :librarian, :program, :email, :phone,
:date, :time, :age, :address, :confirmation)
end
我已经遇到同样的问题一个月了,找不到解决办法。
每当我向我的数据库中添加一个列时,该列不记录信息。我可以在我的表单中将信息传递给它,但这永远不会 return。
验证 return 一个错误,好像表单的那个字段是空的。
我已经尝试过 db:rollback、drop/create/migrate 和其他。
这是我的初始迁移,一切正常:
class CreateRequests < ActiveRecord::Migration[5.0]
def change
create_table :requests do |t|
t.string :library
t.string :librarian
t.string :program
t.string :email
t.string :phone
t.string :date
t.string :time
t.timestamps
end
end
end
这是我添加的两个迁移:
class AddAddressColumnToRequests < ActiveRecord::Migration[5.0]
def change
add_column :requests, :address, :string
end
end
和
class AddConfirmationColumnToRequests < ActiveRecord::Migration[5.0]
def change
add_column :requests, :confirmation, :boolean
end
end
这一直是我的祸根。让我知道还需要提供什么。 谢谢你。
确保在强参数中允许 address
和 confirmation
。代码应如下所示:
private
# Using a private method to encapsulate the permissible parameters is
# a good pattern since you'll be able to reuse the same permit
# list between create and update. Also, you can specialize this method
# with per-user checking of permissible attributes.
def request_params
params.require(:request).permit(:library, :librarian, :program, :email, :phone,
:date, :time, :age, :address, :confirmation)
end