0

Rails 3.2.3 を使用していますが、問題があります。

私はすでに製品とユーザーの2つのモデルを持っています。デバイスをセットアップすると、ユーザーテーブルが作成されました。製品をユーザーに属させたいのですが、これが私がしたことです:

rails g migration AddUserToProduct user_id:integer

製品モデルに、次を追加します。

belongs_to :user

ユーザーモデルに、次を追加します。

has_many :products

走った

rake db:migrate 

そして私は元気に見えます。それをテストするために、Web インターフェースにアクセスしてログインし、新しい製品を作成してから、Rails コンソールを使用して次のように入力します。

Product.last

ユーザーと製品の間に参照がないことを意味する user_id:nil 以来、私は混乱しています。

私のコードに何か問題がありますか? 2 つの既存のモデルの間に参照列を作成する適切な方法は何ですか?

助けてくれてありがとう

4

1 に答える 1

1

Productsコントローラーを見せていただけますか?ほとんどの場合、次のようなものがあります

def create
  @product = Product.new(params[:product])
  ...
end

もしそうなら、それを

def create
  @product = current_user.products.build(params[:product])
  ...
end    
于 2012-06-16T18:38:19.560 に答える