我该如何解决这个问题?我怎样才能找到哪个open-uri模块与我的模型发生冲突。
以下是一些使问题更清晰的输出:
m=MyModel.new
m.open
NoMethodError: private method `open' called for #<MyModel:0xcd889b4>
from /var/lib/gems/2.0.0/gems/activemodel-3.2.14/lib/active_model/attribute_methods.rb:404:in `method_missing'
以下是该文件在404附近所包含的内容:
def method_missing(method, *args, &block)
if respond_to_without_attributes?(method, true)
super # line 404
else
match = match_attribute_method?(method.to_s)
match ? attribute_missing(match, *args, &block) : super
end
end
我忘了写open-uri部分,请参阅:
m.open=Time.now
=> 2014-03-04 17:00:04 +0000
m.save
ArgumentError: wrong number of arguments (0 for 1+)
from /usr/lib/ruby/2.0.0/open-uri.rb:28:in `open'
我刚发现open is an invalid column name。
如何处理?除了更改列名,因为它在大型代码库中使用。
答案 0 :(得分:0)
现在更改列名将意味着将来减少痛苦。试图解决这个问题会让你开始接受更大的问题。