我有下面的代碼在我的模型:Rails的模型方法失敗
attr_accessor :display_time_reader
attr_reader :display_time_reader
具有以下display_time_reader =方法:
def display_time_reader=(days_before_start)
self.date_to_show_ad=self.start_time-days_before_start.to_i.days
end
我提交給它具有以下PARAMS:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"wb7acGREdNH2aeuYjye51wwaWdMXgTYvAcNxoDR9HAE=", "sale"=>{"start_time(3i)"=>"13", "start_time(2i)"=>"1", "start_time(1i)"=>"2012", "start_time(4i)"=>"23", "start_time(5i)"=>"00", "end_time(3i)"=>"14", "end_time(2i)"=>"1", "end_time(1i)"=>"2012", "end_time(4i)"=>"01", "end_time(5i)"=>"00", "display_time_reader"=>"7"}, "commit"=>"create"}
不過,我發現了以下錯誤時返回:
當你沒有想到它時,你有一個零對象!您可能需要 Array的實例。而評估 nil.-發生錯誤
控制器代碼:
def new
user = User.find(current_user.id)
@sale = user.sales.build
@locations = user.locations
1.times { @sale.items.build; @sale.build_location }
end
def create
@sale = Sale.new(params[:sale])
@sale.user_id = current_user.id
logger.debug "Sale object!!! #{@sale.inspect}"
respond_to do |format|
if @sale.save
format.html { redirect_to @sale, notice: 'Sale was successfully created.' }
format.json { render json: @sale, status: :created, location: @sale }
else
format.html { render action: "new" }
format.json { render json: @sale.errors, status: :unprocessable_entity }
end
end
end
任何想法可能會導致什麼呢?
您提交給一個操作,而不是一個模型。什麼是零? – 2012-01-17 22:37:49
@DaveNewton - 上面介紹的代碼在模型中。它沒有指定什麼是零。 – Elliot 2012-01-17 22:38:59
我知道它是在一個模型中,但我們並不真正知道什麼時候發生零,在什麼情況下等等。 – 2012-01-17 22:40:25