回滚活动记录状态:参数数量错误(1表示0)

时间:2010-02-18 02:04:52

标签: ruby-on-rails activerecord

ArgumentError in SourceController#update_source

wrong number of arguments (1 for 0)

我尝试通过编写以下内容将新的Article对象保存到数据库中:

@article = Article.new(:title => new_a.title,
              :description => new_a.description,
              :source_id => self.id,
              :url => new_a.link,
              :pub_date => new_a.pubDate)
            @article.save

new_a是来自rss解析器的数组或rss对象,我100%正面工作正常。 self.id指的是从中提取此代码的模型“Source”。考虑到新方法采用参数,'错误的参数数量(1为0)'似乎没有任何意义,我知道我从new_a访问的每个属性都不是nil

1 个答案:

答案 0 :(得分:0)

new_a.pubDate如果我只是直接将它吐出到视图中,但是当试图将new_a.pubDate存储到数据库中,其中列采用varchar(255)时,数据库就会吐出来它备份说pubDate是不兼容的。它变成了我们的参数错误(1为0)告诉我,我正在给它一些不应该存在的东西(即使我认为我给它一个有效的参数)。事实证明,来自rss解析器的pubDate只是文章被解析时的时间戳,所以我不需要考虑我有一个DB为我创建的created_at时间戳。

当它意识到我给它一个错误的参数时,必须调用回滚。

感谢您的回复!