我有一个模型,我在其中创建一个attr_accessor:
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&#39;
为什么我不能在模型中使用attr_accessor值?
答案 0 :(得分:1)
您只能通过对象本身或@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
更新
{{1}}