URLから取得するパラメータは、ルートの設定方法によって異なります。現在のルートでは、次のようになります。
params[:beta] = "rapunzel"
ルートを次のように指定した場合:
map.connect '/signup/:beta', :controller => 'signup', :action => 'beta'
代わりにmysite.com/signup/rapunzelのようなリンクを送信すると、以前と同じベータパラメータを取得できます。
ベータフィールドをフォームに追加するには、フォームページテンプレートの非表示フィールドとしてベータフィールドを含めるだけです。
コントローラに次のように入力します。
@beta_id = params[:beta]
次に、ビューテンプレートに次のように配置します。
hidden_field_tag 'beta', @beta_id
次に、サインアップして適切なIDを作成するときに、ユーザーのテーブルの行から「ベータ」テーブルのベータIDを含む行への関連付けをフックする必要があります。これは、1人のユーザーだけが各ベータIDに登録できるようにする場合は、ベータテーブルのhas_oneアソシエーションであり、複数のユーザーがサインアップできる場合は、has_manyです。