Passer des paramètres à mettre à jour imbriquée attributs

Je suis en train de travailler sur une base très pratique, l'application où l'utilisateur peut créer plusieurs citations. Le problème que je rencontre est que je ne peux pas mettre à jour mes citations. J'ai beaucoup de choses et avoir lu d'autres questions ici et sur google, mais ne peut pas comprendre ce que je fais de mal. Voici mon code:

#User Model
    class User < ActiveRecord::Base
      has_many :quotations, :dependent => :destroy
      attr_accessible :quotations
      accepts_nested_attributes_for :quotations, :allow_destroy => true
    end

#Quotations Model
class Quotation < ActiveRecord::Base
  attr_accessible :quote_text, :author, :quote_type, :category, :tags, :user_id
  belongs_to :user
end

Offres Contrôleur De

class QuotationsController < ApplicationController
  before_filter :get_user

  def get_user
    @user = User.find(params[:user_id])
  end 

  def edit
    @quotation = @user.quotations.find(params[:id])
  end

  def update
    @quotation = @user.quotations.find(params[:id]) 
    if @quotation.update_attributes(params[:id])
      redirect_to user_quotation_path :notice  => "Successfully updated quotation."
    else
      render :action => 'edit'
    end
  end    

end
Résolu si @citation.update_attributes(params[:id]) n'Est que la mise à jour de l'id, ce qui signifie que rien n'a changé, parce que l'id n'est pas dans le formulaire d'édition. Le bon code serait passer params[:citation] pour mettre à jour le qoutation paramètres. si @citation.update_attributes(params[:citation])

OriginalL'auteur Edward Castaño | 2011-11-09