ruby-on-rails-3 - Rails3 迁移添加新列不会将值保存到表中

标签 ruby-on-rails-3 rails-migrations

因此,我创建了以下迁移:

class AddAclToUsers < ActiveRecord::Migration
  def self.up
    add_column :users, :acl, :integer
  end

  def self.down
    remove_column :users, :acl
  end
end

但是,在 View 中修改各个 erb 文件后,在 edit.html.erb 中输入的值不会保存到数据库中。

我可以手动启动 SQlite3 并选择 * 表,并看到该列已创建,但未输入任何值。我还可以手动更新或插入数字到 Controller 正确查询和显示的新列中。

关于框架 udate/save 可能出现的问题有什么建议吗?

-丹尼尔

最佳答案

请检查您的User模型中是否有attr_accessible列表。如果您使用像 gem/plugin 这样的 Devise 进行身份验证,您将在模型中拥有一个 attr_accessible 列表。

将新属性(在您的情况下是acl)添加到attr_accessible列表中。

如果不是这种情况,我希望您粘贴您的 View 、 Controller 和模型代码

关于ruby-on-rails-3 - Rails3 迁移添加新列不会将值保存到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5453850/

相关文章:

ruby-on-rails - 在 Rails 3 中使用 group by 查询中以整数形式获取 COUNT(column)

ruby-on-rails - 有没有办法解决 Rails 删除的迁移?

ruby-on-rails - 长时间运行到死亡的迁移/find_each

css - 如何在 Susy 网格元素中执行预定义的 CSS 文件?

Mac Lion 10.7 上的 MySQL 错误

ruby-on-rails - 如何指定设计 'from' 电子邮件

mysql - Rails 4 从 MySQL 表的迁移

ruby-on-rails - 在 Rails ActiveRecord 迁移中, `using:` 关键字

ruby-on-rails-3 - 如何在 ActiveRecord 迁移中重置自动增量字段?

ruby - 为 sidekiq 调度程序初始化 schedule.yml 文件的位置