1

看看我的模型和我的迁移

我只有一个属性来测试 globalize3 gem

class Car < ActiveRecord::Base
   attr_accessible :name
   translates :name
end

我的迁移如下所示

class CreateCars < ActiveRecord::Migration
  def up
    create_table :cars do |t|
      t.timestamps
    end
    Car.create_translation_table! :name => :string
  end

  def down
    Car.drop_translation_table!
    drop_table :cars
  end
end

在尝试使用属性名称保存新车详细信息时出现以下错误

ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: locale

我想我缺少一些用于 globalize3 的声明/配置来访问 I18n.locale 变量。

顺便说一句,我正在使用 rails 3.2.3 和 ruby​​ 1.9.3p125

4

2 回答 2

13

刚刚通过关注此问题找到了解决我的问题的方法

class Car < ActiveRecord::Base
  attr_accessible :name
  translates :name
  class Translation
    attr_accessible :locale
  end
end
于 2012-04-13T10:15:00.437 回答
1

这不应该是这样的:

class Car < ActiveRecord::Base
  attr_accessible :name, :translations_attributes
  translates :name
end

看:

Rails 3.2.3:如何批量分配关联模型?

于 2012-05-13T11:17:59.587 回答