2011-09-12 60 views
0

我有一個模型與相應的表單,爲此我使用ActiveRecord驗證。在表單的底部,我希望有一個確認複選框,該複選框不應該被保留,但必須檢查要提交的表單。我還希望任何源於此複選框的錯誤都不會被檢查以顯示ActiveRecord錯誤。Rails(3)非ActiveRecord字段的驗證

現在我可以在控制器中手動拼湊一些東西,但我想知道是否有內置的,更清潔的方式來處理這種情況?

+0

你試試這個http://www.perfectline.ee/blog/building -ruby-on-rails-3-custom-validators? – Candide

回答

2

我想你應該在你的模型補充一點:

validates_acceptance_of :check_me 
attr_accessor :check_me 
attr_accessible :check_me # if you already have attr_accessible defined in your model 

,這在您的視圖:

<%= form_for @your_model do |f| %> 
    # some code 
    <%= f.check_box :check_me %> 
<% end %> 
+1

如果db列不存在,則不需要添加'attr_accessible' – paozac

+0

如果您的模型中已經有attr_accessible,那麼這是必要的:)但我編輯我的答案以清除它。謝謝paozac –

+0

啊,太棒了。謝謝! – rogerkk