我有一个用户模型
图片.如何禁用自动保存选项.当我尝试以下我得到一个错误.
我使用的是铁轨3.
class User < ActiveRecord::Base
has_one :image_mapping, :class_name=>"ImageMapping",:as => :imageable
has_one :image, :through => :image_mapping, :class_name => "Image", :autosave => false
end
它表示未知密钥:自动保存
是不是正确加载autosave_association.rb?
最佳答案 这可能无法解决您的问题,但也许您觉得它有用:
has_one似乎有问题:通过.例如在Post类中,
has_one :owner, :through => :blog
工作正常,但是
has_one :owner, :through => :blog, :autosave => false
没有.如果你实例化一个帖子,就像这样
post = Post.find 1
你得到这个:
ArgumentError: Unknown key(s): autosave
from /var/lib/gems/1.9.1/gems/activesupport-3.0.1/lib/active_support/core_ext/hash/keys.rb:43:in `assert_valid_keys'
from /var/lib/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/associations.rb:1758:in `create_has_one_through_reflection'
from /var/lib/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/associations.rb:1102:in `has_one'
from /var/lib/gems/1.9.1/gems/activerecord-3.0.1/lib/active_record/autosave_association.rb:137:in `has_one'
[...]
看看the documentation,我找不到它不应该工作的原因.事实上它似乎与has_many一起使用,如果设置了:autosave选项,则只有has_one打嗝.
除非Stack Overflow上的某人发现使用:has_one这样做有问题,你也可以去Rails mailing list寻求帮助;我认为Rails-core是解决这个问题的正确方法.