我有一个表单,其字段不会永久存在于模型上,因此我在模型上使用 attr_accessor 以使其可供使用,但是当我尝试访问它时它总是返回 nil。
表单域:
<%= text_field_tag :discount_code, nil, maxlength: "12", class: "span2" %>
控制器:
def an_action
@job = Job.find(session[:job_id])
@job.some_method
end
该模型:
class Job < ActiveRecord::Base
attr_accessor :discount_code
def some_method
if !self.discount_code.blank?
do some logic
end
end
上面的语句永远不会执行,因为它总是评估为零。
该字段的值在控制器中作为参数提供,没有问题:
discount_code: test50
action: process_payment
controller: jobs
任何指针将不胜感激。