Состояние активной записи отката: неверное количество аргументов (1 для 0) - PullRequest
1 голос
/ 18 февраля 2010
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 голосов
/ 18 февраля 2010

new_a.pubDate хорошо, если я просто собираюсь выплюнуть его непосредственно в представление, но при попытке сохранить new_a.pubDate в базе данных, где столбец принимает varchar (255) - база данных плюет обратно, говоря эта pubDate несовместима. Оказывается, наша ошибка аргумента (1 для 0) говорила мне, что я дал ему что-то, чего не должно было быть там (хотя я думал, что предоставляю ему допустимый параметр). Как оказалось, pubDate из парсера rss - это просто отметка времени, когда статья была проанализирована, поэтому мне это не нужно, учитывая, что у меня есть метка времени create_at, которую БД делает для меня.

Откат должен был быть вызван, когда он понял, что я дал ему неверный параметр.

Спасибо за ответы!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...