2016-07-25 5 views
0

私はRails 4.2.3を使用しています。私はこれらの二つのモデルdefault_scopeを設定しようとしましたが、 "ブロックなしで#default_scopeを呼び出すサポートが削除されました"エラー

class Address < ActiveRecord::Base 
    … 
    has_one :user 

class User < ActiveRecord::Base 
    belongs_to :address 
    default_scope includes(:address) 

私は私が私の「MyObjectに」をロードするとき、私の親の関連付けを自動的にロードしたいが、私は「default_scope」の行に、このエラーを取得していますが...

Support for calling #default_scope without a block is removed. For example instead of `default_scope where(color: 'red')`, please use `default_scope { where(color: 'red') }`. (Alternatively you can just redefine self.default_scope.) 

"default_scope"行を調整して親の関連付けを自動的にロードするにはどうすればよいですか?

あなたのラインでブロックが不足している

答えて

0
  • 、このようにそれを変更します。

    default_scope { includes(:address) } 
    
+0

私のラインを変更して「」エラーが離れて行くようになりしますが、私のアドレスエンティティがまだロードされていません私は "User.find_by(id:session [:user_id])"と呼んでいます。実際に問題のユーザーに関連付けられているアドレスIDがあることを確認しました。 – Dave

+0

私は同じことを試み、それは私のために働いた。住所の読み込みをどのように確認していますか?結果をJSONオブジェクトとして送信していますか? – Devd

関連する問題