【问题标题】:Rails 3: update_attributes sets column to 'nil'Rails 3:update_attributes 将列设置为“nil”
【发布时间】:2012-10-09 15:23:53
【问题描述】:

我遇到的问题是方法 update_attributes。代码:

n 设置为 Active Record 对象。 n = Notification.find(notification_id)

然后,使用散列通知选项更新 n。 n.update_attributes(notification_options)

我遇到的问题是当我 raise n.inspect 它显示这两个字段设置为 nil。此外,在数据库中,这两个字段为空。 为什么它不会更新属性?

如果我需要更具体,请告诉我。

【问题讨论】:

  • 您能显示notification_options 哈希吗?你说两个领域,哪个领域??
  • 您是否将属性设置为可访问?
  • 对不起,当我谈到字段时,我的意思是两个键的值为 nil。两个关键是起点和终点。是的,包括attr_accessible :origin, dest
  • 如果您可以包含您的模型和您尝试使用的确切代码,将会很有帮助。我们看不出有没有错别字。我认为对于初学者来说,“dest”之前应该有一个冒号。

标签: ruby-on-rails ruby-on-rails-3 activerecord


【解决方案1】:

我猜这是因为您使用的是attr_accessor,而不是attr_accessible。请向我们展示您的通知模型。

【讨论】:

    【解决方案2】:

    所以最终问题出在模型中的一条线用于正在使用的宝石。它需要一种特定的格式,如果不匹配,它会导致它设置为 nil。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多