0

2つのオブジェクト間に関連付けを作成し、変更をデータベースに保存しようとしています。私は通知にオブジェクトへの呼び出しを含めました。これは、オブジェクトがifstamentにtrueを通過した後に保存されるかどうかをテストするためです。データベースで実際に更新が行われたかどうかを確認しても、何も変更されていません。

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
4

1 に答える 1

1

プロファイルを直接保存してみてください(リクエストオブジェクトではなく、プロファイルを変更しているため)

if @request.profile.save
  # redirect
于 2012-07-01T14:40:39.240 に答える