2012-04-09 24 views
1

モデルが許可されているフィールドの数と繭で検証することに問題があります。コクーンrails3を使用すると、私の場所にはリンクが多いネストされたフォームがあります。私はそれぞれの場所のリンクの数を制限する必要があるRails3 Cocoonネストされたフィールド数を確認する

は私location.rbモデル5.

をしなければならない、私はこの持っている:5つのリンクまで追加

class Location < ActiveRecord::Base 

    has_many :links 
    accepts_nested_attributes_for :links, :reject_if => lambda { |a| a[:link_name].blank? }, :allow_destroy => true 
    validate :check_link_count 

    ... 

    def check_link_count 
     if self.links.count > 5 
     self.errors.add :base, "No more than 5 links allowed." 
     end 
    end 

    ... 

を、すべてが正常に動作します。

リンクを6つ追加して保存すると、エラーが発生します。また良い。

問題はリンクを削除しようとするときです。リンクが保存後に削除されたように見えます(私は思う)。したがって、すべてのフィールドを削除すると、私はまだエラーが発生します。

提案がありますか?検証する別の方法はありますか?

答えて

3

hm。あなたはこのような何かを試すことができます

+0

素晴らしい、それは簡単でした。 marked_for_destruction Sを読んでください。 – simonmorley

関連する問題