私はsimple_formで使用するために、仮想属性を持つモデルを持っている:Inherited_resourcesカスタムエラー
class Sms < ActiveRecord::Base
attr_accessor :delayed_send, :send_time_date, :send_time_time
私はフォームを持っているため/ smses /新しい:
= simple_form_for([:admin, resource]) do |f|
...
.clear
.field.grid_3
= f.input :delayed_send, :as => :boolean, :label => "Отложенная отправка на:"
.clear
.field.grid_3
= f.input :send_time_date, :as => :string, :input_html => { :class => 'date_picker' }, :disabled => true, :label => "Дату:"
.clear
.field.grid_1
= f.input :send_time_time, :as => :string, :disabled => true, :label => "Время:", :input_html => { :value => (Time.now + 1.minute).strftime("%H:%M") }
.clear
.actions.grid_3
= f.submit "Отправить"
と私はしたいが、内部のすべてが仮想属性を検証私のSmsesController、アクションを作成し、それが無効な場合 - エラーを表示します。しかし、それは動作しません:
class Admin::SmsesController < Admin::InheritedResources
def create
@sms.errors.add(:send_time, "Incorrect") if composed_send_time_invalid?
super
end
私はどのように私は私のカスタムエラーを追加する必要があります私は、inherited_resourcesを使用して?
コントローラではなくモデルで検証する必要があるのはなぜですか? – miked