私は2つのモデルがあります:Herokuの上のデータベース・エラーを挿入しかし、ローカルでのActiveRecordを働いた:: StatementInvalid
class User < ActiveRecord::Base
has_many :micro_posts, :dependent => :destroy
..
def add_post(post)
self.micro_posts << post
end
class MicroPost < ActiveRecord::Base
belongs_to :user
...
と移行:
class CreateMicroPosts < <ActiveRecord::Migration
def change
create_table :micro_posts do |t|
...
そして、私はHerokuのサーバ上add_postと呼ばれるが、私はエラーが発生しました:
2012-02-06T02:59:58+00:00 app[web.1]: ActiveRecord::StatementInvalid (ArgumentError: wrong number of arguments (1 for 0): INSERT INTO "micro_posts" ("created_at", "description", "pub_date", "tag", "title", "updated_at", "url", "user_id") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"):
2012-02-06T02:59:58+00:00 app[web.1]: app/models/user.rb:25:in `add_post'
しかし、有線のものは、私のコンピュータで動作します。マイOS情報:
ubuntu 10.04
ruby 1.9.3p0
rails 3.1.3
postgresql 8.4.10
ありがとうございます。
:
PS、item.pubDateはすなわち、コンソールに私はそれを印刷することができ、間違っていません。しかし、私は、Herokuが9.0.4(または9.1)で動作している場所でPostgreSQL 8.4を実行していることに注意してください。 Postgresをアップグレードして、エラーをローカルに再現できるかどうか確認してください。これにより、より詳細なロギングが可能になります。 – Ariejan
ありがとうございます。私はそれをアップグレードしてみます。 –
NO。 postgresqlを9.1.2(ソースからビルド)にアップグレードし、ローカルで動作しました。 –