2010-11-26 4 views
0

私はこれらの2つの機種持っているために:未定義のメソッド `shipping_info」#<ActiveRecordは::関係

class Order < ActiveRecord::Base 
    has_one :shipping_info 
end 

class ShippingInfo < ActiveRecord::Base 
    belongs_to :order 
end 

@order = Order.new 
@order.build_shipping_info fails with NoMethodError: undefined method `build_shipping_info' for #<ActiveRecord::Relation 

これは、レール3にどのように行われるか任意のアイデアを?

編集:実際に私はコンソールでこれを取得します:Creating scope:new。既存のメソッドOrder.newを上書きします。

UPDATE/SOLVED:実際に私は新しいスコープを作成しました:間違ってnew、スコープの名前を変更して問題を修正しました。

+0

質問の形式を指定してください。おそらく '@ order 'のつづりを' @ oreder'に間違えたのでしょうか? – tjeden

+0

このコードは正しいです。だから私はあなたの本当のコードではないと思いますか? – nathanvda

+0

それは本当のコードです... – Cezar

答えて

1

これは私のために動作し、私はこのような何かがあった場合にのみ失敗します:

Order.scoped.build_shipping_info 

は、これはあなたが使用している正確なコードですが?

+0

はい、コンソールで試しました... – Cezar

+0

@Cezar:正しい考えられる方法はありません。 –

関連する問題