インスタンスを保存する前に主キーを設定するためにfilterを使用しています。ここでbefore_filterを作成する前に主キーを設定する
は私のコントローラのメソッドです:
class ReferencesController < ApplicationController
before_filter :set_primary_key, :only => [:create_sub_reference]
def create_sub_reference
@reference = Reference.new(params[:reference])
respond_to do |format|
if @reference.save
format.js
else
flash[:notice] = "Reference failed to save."
end
end
end
private
def set_primary_key
result = ActiveRecord::Base.connection.execute('SELECT REF_ID FROM SEQUENCES')
inc_result = (result.fetch_row.first)
self.REF_ID = inc_result
end
end
end
i「は保存ボタン」をクリックしたときに、私は、ログファイルに次のエラーメッセージを取得しています:上の任意の提案のための
NoMethodError (undefined method `REF_ID=' for #<ReferencesController:0xb69f4ca8>):
感謝をこの問題
ここでは、あなたが意味する@referenceではなく、コントローラへの '自己参照'があります。 –
私は 'self.REF_ID'を '@ reference.REF_ID'に変更しようとしましたが、無駄でした。私はまだ同じエラーメッセージが表示されます – Kim