我試圖在我的模型Company
中進行一些有條件驗證。基本上這個想法是Company
被許多不同的控制器使用,每個控制器都有自己的驗證要求。我的想法是使用attr_accessor
補充說,識別控制器有問題,像這樣的屬性:使用attr_accessor進行條件驗證使用attr_accessor
<%= company.hidden_field :controller_context, value: "incorporation" %>
但是,我已經無法使用:controller_context
在我的驗證的條件。
validate :final_incorporation, if: "controller_context=='incorporation'"
上面給我沒有錯誤,但不觸發驗證。但是,如果我嘗試用下面得到的controller_context
值在我的日誌:
logger.debug "controller_context: #{controller_context}"
我得到的錯誤
undefined local variable or method `controller_context'
我已經在谷歌四處尋找一個解決方案。我見過一個建議,編輯我的控制器以適應這種情況,但由於各種原因,這看起來並不理想。我可能會在這裏錯過什麼?
在此先感謝。
你是什麼意思時,你說這是由很多控制器_used_? –
@JawadKhawaja感謝您的迴應;這意味着它是由它們引用的。公司可以通過合併,上限表或可轉換票據進行編輯。所有這些都有自己的具體要求,需要驗證。 – neanderslob