2011-06-30 11 views
0

基本的にはオーダーフォームを作成したいと思っています。この注文フォームでは、ユーザーは会社のメンバーに関する情報を提出し、注文フォームの最後には、バックエンドからクライアントが追加するオプションサービスを選択できる部分もあります。私はレールが初めてであるので、可能な限りベストプラクティスを使ってこれを実行するように援助してくれる人がほしいと思う。ここで私は私が行う必要があると思うものです:私のためのモデルでRails初心者向けのカスタムフォームを作成するのに役立つ

  1. 注文モデルを作る
  2. メンバーモデルを作る
  3. フィールドモデルを作る

has_many :members 
has_many :fields 
を作ります

私の会員モデルはbelongs_to :orderとなり、私のフィールドモデルはbelongs_to :orderとなります。次に私の注文コントローラで行う必要があるのは@fields = Field.allで、それを@fields.eachブロックで抽出します。

P.S.もう1つのことがあります。それは、注文フォームに3種類のヘッダー:Corporation、LLC、およびNon-profitを表示させることです。 URLに私はtype=1type=2type=3のように、私のモデルの使用にANそれを作った場合の文のような場合は私がスマートだろうと思ったことは次のとおりです。文はちょっとずさんであれば

def order_type(type) 
    if type === "1" 
    "corporation" 
    elsif type === "2" 
    "llc" 
    else 
    "nonprofit" 
    end 
end 

私が使用して思うようにのためにそう誰かが私に最高の練習を教えてくれたら嬉しいです。レールスクエアのエピソードで試してみてはいけません。すでにたくさんチェックアウトしています。私が希望することは説明され

可能おかげでみんな、それは多くのことを意味している場合

答えて

0

は本当に彼らは自分のモデルを必要とするので、複雑なあなたの分野はありますか?あなたの "フィールド"が1つの列リストである場合は、それらをモデルの列として含めるだけで、それらも適用されます。

提案したURLメソッドを使用する際の問題は次のとおりです。ユーザーがモデルオブジェクトを作成し、それを「LLC」として割り当てるとします。あなたの提案したURLのどこかにタイプ= 1があります。ユーザーがこのURLをブックマークした後、誰かがそれが誤字であり、LLCの代わりに見出しが他のものでなければならないことに気付きました。今あなたは、インターネット上で死んだリンクを作成しているか、またはエンコードされているURLを持っているunreestfulな状況があります。データの照会にURLエンコーディングを使用して、データの内容を判断する必要がありません。

私は見出しの質問のためのURLを混乱させません。代わりに表示されるメインモデルに見出しフィールドを追加し、そのフィールドをLLCなどにしてください。次に、表示されているオブジェクトの値にロードされる変数が表示されます。

+0

基本的に私は投稿要求によって決定されたヘッダー名を持っているはずですか?例えば、彼らは彼らが望む注文フォームを選択したボックスをクリックし、URLにcorp、llc、またはnonprofitが含まれていれば、それを注文フォームに渡します。 – Jake

+0

これはGETリクエストであり、ヘッダー情報がモデルの一部として格納されている場合、別個のリクエストは行われません。これは、表示しているオブジェクトの別の属性です。異なるテンプレートを使用して異なるフィールドを選択的に表示することもできますが、llcまたはcorpの唯一の違いがタイトルテキストの場合は、属性のフィールドに「order_type」と呼ばれるフィールドが必要です。ユーザーは新しい注文「ドメイン/注文/新規」を作成し、ドロップダウンからタイプを選択して保存します。ユーザーが非営利団体のみを見たい場合は、 'order_type'列ですべての注文を簡単にフィルタリングできます。 –

関連する問題