Rails:调用save后数据库未更新

时间:2012-07-01 13:38:19

标签: ruby-on-rails activerecord associations

我尝试在两个对象之间创建关联并将更改保存到数据库。 我已经在通知中包含了对该对象的调用,以测试它是否在它传递给if stament之后保存。当我检查数据库中是否确实发生了更新时,没有任何变化。

requests_controller.rb

class RequestsController < ApplicationController
   before_filter :load_requestable


   def accept
     @request = Request.find(params[:id])
     @request.profile.send("#{@belongs_to}=",@requestable)

     if @request.save
        redirect_to [@requestable, :requests], notice: "Request Accepted #{@request.profile.send("#{@belongs_to}").name}"
     else
       render :new
     end
   end

private

  def load_requestable
    klass = [Company, Profile].detect { |c| params["#{c.name.underscore}_id"]}
    @requestable = klass.find(params["#{klass.name.underscore}_id"])
    @belongs_to = klass.to_s.downcase
  end

end

1 个答案:

答案 0 :(得分:1)

尝试直接保存配置文件(因为您正在修改它,而不是请求对象)

if @request.profile.save
  # redirect