Ruby on Rails 1.9.3-在模型中添加一个额外的字段后,贯通视图模型无法更新

时间:2018-09-29 21:56:48

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

我正在尝试对比赛条件实施乐观锁定。为此,我在产品:通过迁移进行的模型中添加了额外的列lock_version。并通过attr_accessible :lock_version传递。我可以通过Rails控制台更新模型,但是,通过View我不能更新模型。

产品:型号的新字段:

#  lock_version                       :integer(4)      default(0), not null

在产品:模型中传递lock_version:

 attr_accessible :lock_version

在“查看/编辑”中将其作为hidden_​​field传递:

form.hidden_field :lock_version

产品:模型控制器:

 def update
   ...
  @product.update_with_conflict_validation(params[:car])
 end

内部产品:型号:

  def update_with_conflict_validation(*args)
    update_attributes(*args)
  rescue ActiveRecord::StaleObjectError
    errors.add :base, "This record changed while you are editing."
    false
  end

我正在使用Ruby版本

Loading development environment (Rails 3.2.22.4)
irb(main):001:0> RUBY_VERSION
=> "1.9.3"

请让我知道为什么我不能通过UI / View更新模型,但是却可以通过Rails控制台更新。

参考:https://www.youtube.com/watch?v=dcfP37d8-ZI

0 个答案:

没有答案