eine Bewertung Tabelle Mit:Rails 3: Erstellen Sie eine Instanz mit 3 Fremdschlüsseln
# Table name: reviews
#
# id :integer not null, primary key
# wsp_id :integer
# service_id :integer
# user_id :integer
# description :text
# rating :integer
# created_at :datetime
# updated_at :datetime
#
belongs_to :wsp
belongs_to :service
belongs_to :user
Wie kann ich einen Beitrag für einen Dienst zu erstellen und die wsp_id passieren und user_id? Muss ich verschachtelte Routen verwenden?
Ich kann @user.reviews.new(params[:review])
tun, aber ich bin nicht in der Lage, die wsp_id
und die service_id
zu übergeben.
Hier ist meine Bewertungen Controller erstellen.
def create
@review = current_user.reviews.new(params[:review])
if @review.save
#Saved
else
#Error, not saved
end
end
Was mache ich falsch?
Vielen Dank!
Wie erhalte ich: service_id, wenn die Routen sind nicht verschachtelt? – donald
@donald, Routen (oder verschachtelte Routen) sind nicht die einzige Möglichkeit, Daten zu erhalten. Sie könnten zum Beispiel die wsp_id und die service_id aus der Sitzung abrufen und diese vor dem Erstellungsaufruf in der create-Aktion in die Parameter zusammenführen. Sie müssen die Werte von service_id oder wsp_id von irgendwo in der Anwendung ermitteln, und nur Sie würden das wissen. –
@Aditya Können Sie mir bitte erklären, welchen anderen Weg ich benutzen kann? Danke – donald