J'ai un objet appelé Review qui appartient à deux objets : Utilisateurs et Fournisseurs. En d'autres termes, il y a toujours un vendeur qui écrit une critique pour un vendeur spécifique.
Lorsque je crée un examen, j'ai essayé d'utiliser la méthode .build pour ajouter la clé étrangère au moment où le nouvel enregistrement est créé pour review.vendor_id et review.user_id.
Lorsque je place dans le contrôleur de révision l'instruction de construction pour l'identifiant de l'utilisateur sans celle pour la capture de l'identifiant du fournisseur, cela fonctionne comme un charme. Lorsque j'ajoute le vendor_id, le user_id reste 'nil'.
Aide ? Reviews est une ressource imbriquée : vendeurs/3/reviews/new
Formulaires à revoir/nouveaux :
<% form_for [@vendor, @review] do |f| %>
Dans le contrôleur de révision :
def new
@vendor = Vendor.find(params[:vendor_id])
@review = @vendor.reviews.build
#@review = Review.new
end
def create
@vendor = Vendor.find(params[:vendor_id])
@review = @current_analyst.reviews.build params[:review]
if @review.save
flash[:notice] = "Successfully created review."
redirect_to review_path(@review)
else
render :action => 'new'
end
fin