我在保存之前使用过滤器设置实例的主键。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
我收到的时候我对“Save按钮”点击日志文件中的以下错误消息:
NoMethodError (undefined method `REF_ID=' for #<ReferencesController:0xb69f4ca8>):
感谢您的任何建议这件事
这里'自我'引用的控制器不是@reference你的意思。 – 2012-03-05 12:12:28
我甚至尝试将'self.REF_ID'改为'@ reference.REF_ID',但徒劳无功。我仍然收到相同的错误消息 – Kim 2012-03-05 12:17:00