2

いくつかのフィールドと基本的なフォームを備えた単純なクライアントモデルがあります。アクセスするためのURLは/clients/new、メソッドにつながりclients#newます。私がする必要があるのは、リセラーへの新しいルートを作成することです。これにより、同じメソッドと同じフォームが作成されますが、リセラーの名前などの新しいフィールドがいくつかあります。

例:url/reseller/clients/newはメソッドにつながりclients#new、フォームへの新しい入力を含む新しいセルを表示しnewます。

URLをチェックし、ルートに"reseller"含まれている場合はセッションを設定するメソッドを作成しました。これにより、新しいフィールドが表示されるかどうかをセルが処理できるようになります。しかし、これはモデルの検証に関する問題につながります。新しいフィールドがビューに表示されている場合、その存在はtrueです。適切な検証を作成するには、モデル内のセッションにアクセスする必要がありますが、それは正しいパスとしては聞こえません。

どうすれば適切な方法で目標を達成できるのでしょうか。

前もって感謝します。

4

1 に答える 1

1

解決しました。

このために、という新しいモデルを作成しましたReseller。それで、モデルClientは持っていaccepts_nested_attributes_for :resellerます。このようにして、モデルのセル内のフォームをレンダリングし、条件ステートメントを必要とせずに、Resellerその中のすべてのフィールドをで設定できます。:presence => trueURLにが含まれている場合"reseller"、セルはフォームをレンダリングし、検証が行われます。

于 2012-08-17T14:13:02.227 に答える