我有一个Rails项目,我使用scaffold来生成我的模型和CRUD。现在我更新了一些模型,因为我需要更多列或关联。 但是我注意到我之前添加的所有列都没有从我的表单更新。我在表单中手动添加了字段,但没有在数据库中写入任何内容。
就我而言,我有三个实体:
文档和人均属于用户。 当我为People生成脚手架时,我首先没有与User建立关联,并且我使用以下迁移脚本添加了它:
class AddUserRefToPeople < ActiveRecord::Migration
def change
add_reference :people, :user, index: true, foreign_key: true
end
end
为了能够通过我的表单进行更新,我添加了与我的文档形式相同的功能,该功能非常好:
<div class="field form-group">
<%= f.label :user, class: '...' %>
<div class="col-sm-10">
<%= f.select :user_id, options_for_select(User.all.map{|s| [s.firstname, s.id]}), class: '...' %>
</div>
</div>
对于此字段,表单和模型之间的绑定似乎不存在(仅适用于People实体,因为它适用于Document)。
我在另一个专栏的文档上遇到了同样的问题。我发现的唯一模式是我在做脚手架生成后添加了这些列。
我错过了什么吗?我需要以不同的方式进行更新吗?添加新列的最佳做法是什么?
如果您需要更多信息,请与我们联系。