モデルに永続的に存在しないフィールドを持つフォームがあるため、モデルで 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
上記のステートメントは、常に nil と評価されるため、実行されません。
フィールドの値は、問題なしのパラメーターとしてコントローラーで使用できます。
discount_code: test50
action: process_payment
controller: jobs
任意のポインタをいただければ幸いです。