Comment puis-je semer un belongs_to association?

Je voudrais semences mon Products et de les affecter à un User et Store.

Produit.rb

class Product < ActiveRecord::Base

  belongs_to :user
  belongs_to :store

  def product_store=(id)
    self.store_id = id
  end
end

Remarque: Store belongs_to Business (:business_name)

De semences.rb

C'est ma configuration de base:

user = User.create(:username => 'user', :email => '[email protected]') 
store = Store.create(:business_name => 'store', :address => 'Japan')

J'ai essayé, mais n'ont pas de travail:

# This gives random ID's ranging from 1 to 4425!?
user.products.create([{:name => "Apple", :product_store => Store.find_by_address('San Francisco, USA')}])

# This gives me undefined method 'walmart'.
 user.store.products.create([ {:name => "Apple"} ])

Est-il un moyen de définir l'ID de l'est si je peux associer mon Products à un Store et User?


Mise à JOUR -

J'ai essayé les réponses ci-dessous et encore sortit d'échec. Personne ne sait d'une autre façon de le faire?

Vous avez attribué une instance d'une classe de Stocker une valeur entière de store_id .. :product_store => Magasin.find_by_address (San Francisco, etats-unis). Ce ne serait pas de travail.. vous devriez être en mesure d'utiliser Store.find_by_address('Japon').id au lieu

OriginalL'auteur LearningRoR | 2011-12-18