1

ローカルにはsqlit3を使用し、herokuにはPostgreを使用しています。

ファイルをherokuにアップロードするまで、すべて正常に動作します。これが私のモデルです。

class User < ActiveRecord::Base
  belongs_to :unit

  has_friends
end

class Unit < ActiveRecord::Base
  attr_accessible :unit, :floor
  has_many :users
  belongs_to :block
end

class Block < ActiveRecord::Base
  attr_accessible :block, :units_attributes
  has_many :units, :dependent => :destroy
  accepts_nested_attributes_for :units, allow_destroy: true
  belongs_to :postalcode
end

class Postalcode < ActiveRecord::Base
  attr_accessible :postalcode, :blocks_attributes
  has_many :blocks, :dependent => :destroy
  accepts_nested_attributes_for :blocks, allow_destroy: true
  belongs_to :neighbourhood
end

class Neighbourhood < ActiveRecord::Base
  attr_accessible :name, :streetname, :postalcodes_attributes
  has_many :postalcodes, :dependent => :destroy
  has_many :blocks, :through => :postalcodes
  has_many :units, :through => :blocks
  has_many :users, :through => :units
  accepts_nested_attributes_for :postalcodes, allow_destroy: true
  validates :name, :presence => true
  validates :streetname, :presence => true
end

トラブルシューティングを行ったところ、問題はコントローラーのこのメソッドにあることがわかりました。

@neighbours = current_user.unit.block.postalcode.neighbourhood.users

@neighbours = current_user.unit.block.postalcode.neighbourhoodは完全に正常に機能しますが、

助けてください、私は必死です、私はそれのために一日中グーグルを試みました。

4

1 に答える 1

1

同様の問題に対するこの回答を確認してください

郵便番号表では、テーブルが整数ではなく文字列として作成されているWHERE "postalcodes"."neighbourhood_id" = 1ことを示すエラーが発生している可能性があります。neighbourhood_id

それに応じて回答に記載されている手順に従い、整数に変更してください。

于 2012-10-22T04:35:21.417 に答える