たとえば、modelに属性をたして、
ruby
1 attr_accessor :sort_order
controllerののformをrenderするaction(newとか?)で、
上記で足した属性に昇順に値をセットして、
view側で、sort_orderをhidden項目として情報を持たせる
親model側(person?)のメソッドで上記のような感じで定義して
ruby
1 def add_error(attr, msg)
2 @errors.set(attr, msg)
3 end
controllerの登録するaction(create?)で
子モデル(address?)のvalidationでエラーになった場合、
親modelのadd_errorで「n番目の住所を入力してください。」のエラーをつける
ruby
1@person.addresses.each do |address|
2 if address.errors.has_key?(:street)
3 msg = address.sort_order.to_s + '番目の番地を入力してください'
4 @person.add_error(:addresses, msg)
5 end
6end
行儀はあまりよくないですが、上記のような感じで(ざっくりした説明ですみません)
実装できるかと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/31 22:48