来自脚手架的Rails表格不适用于添加了晚期迁移的列

时间:2015-05-05 12:50:37

标签: ruby-on-rails ruby forms scaffolding rails-migrations

我有一个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)。

我在另一个专栏的文档上遇到了同样的问题。我发现的唯一模式是我在做脚手架生成后添加了这些列。

我错过了什么吗?我需要以不同的方式进行更新吗?添加新列的最佳做法是什么?

如果您需要更多信息,请与我们联系。

0 个答案:

没有答案