2017-02-24 59 views
0

我有一個模型,其中我創建attr_accessor:試圖在模型中使用attr_accessor值的Rails 5

attr_accessor :schedule_date 

在我的表單中我有一個字段:

<%= f.text_field :schedule_date, label: 'Date', required: true %> 

現在提交後表單我想在我的模型中使用此字段進行一些計算。

問題是schedule_date在我的模型中是未定義的。只是爲了測試它,我想拋出一個錯誤與字段的值:

我的模型看起來是這樣的:

class Ride < ApplicationRecord 
    attr_accessor :schedule_date, :schedule_time 
    raise schedule_date 
end 

但在提交表單時,我得到:

NoMethodError (未定義的方法`schedule_date」

爲什麼我不能用我的模型在我的attr_accessor價值?

回答

0

您只能通過對象調用它本身或@schedule_date

obj.schedule_date 

因爲

attr_accessor :schedule_date僅僅是以下的快捷方式:

def schedule_date=(var) 
    @schedule_date = var 
end 

def schedule_date 
    @schedule_date 
end 

更新

ride = Ride.new() 
ride.schedule_date 
+0

這給了我:未定義的局部變量或方法'obj' – almo

+0

這只是我們需要爲它創建新的乘騎對象的一個​​例子 –

相關問題