首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与ActiveRecord open属性冲突的open方法

与ActiveRecord open属性冲突的open方法
EN

Stack Overflow用户
提问于 2014-03-04 16:59:12
回答 1查看 560关注 0票数 0

我怎么才能解决这个问题?我怎样才能找到哪个打开-uri模块与我的模型冲突。

以下是一些使问题更加清晰的输出:

代码语言:javascript
复制
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行附近包含的内容:

代码语言:javascript
复制
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部分,参见:

代码语言:javascript
复制
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'

更新

我刚找到那个打开是无效的列名。

怎么处理这个?除了更改列名之外,因为它在大型代码库中使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-04 17:52:36

现在更改列名将意味着未来的痛苦会更少。试图解决这个问题会让你面临更大的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22178197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档