2012-07-01 101 views
0

我試圖在兩個對象之間創建關聯並將更改保存到數據庫。 我已經在通知中包含了一個對象的調用,以測試它是否在它傳遞到如果sture之後保存。當我檢查數據庫中是否發生了更新時,沒有發生任何變化。Rails:調用保存後數據庫未更新

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

應該做的軌道級聯保存在這裏(我不知道)?無論如何,請嘗試直接保存配置文件('if @ request.profile.save')。 –

+0

這樣做的伎倆,你可以提交,作爲答案 –

回答

1

嘗試直接保存配置文件(因爲你修改它,而不是請求對象)

if @request.profile.save 
    # redirect