ため、私はこのような招待URLへのレールの特定に新しい登録ページを作成しようとしています:ユーザが自分のプリンシパルを誘うときRailsの工夫申し込み:セパレート登録フォームユーザータイプ
http://localhost:3000/users/sign_up?school=Elementary&principal=true
サインアップすると、違いのある経験(定期的なサインアップページの特定のフィールドを隠す新しいテンプレート)が必要です。私はこのような形にのparamsを渡すことができるよ
:
<%= f.text_field :school, :value => params[:school] %>
しかし、私は、ユーザーから入ってきたURLに応じて、特定の入力を隠しビューのロジックを取得することはできません。基本的に、私はそれを達成する最も簡単な方法は、コントローラにprincipal
のparamの値をチェックしに基づいて正しいテンプレートをレンダリングされnewprincipal.html.erbに
私はユーザー管理のためにDeviseを使用しています - これは新しいコントローラに配置されますか?もしそうなら、私はDeviseにこれを使用するようにどのように指示しますか? – beaconhill
Deviseに 'config/routes.rb'ファイルを更新する必要があることを伝えるために:' devise_for:users、controllers:{registrations: 'registrations'} '、その後、あなたは' Devise :: RegistrationsController '、上記のスニペットのように、あなたはDeviseの動作を拡張することができます。 –
申し込みページに行くと、次のエラーが表示されます: 'ArgumentError in Registrations#newフォームの最初の引数にはnilを含めることも空でもありません。 'そしてその最初の行には以下が含まれます:' <%= form_for(resource、as:リソース名、URL:registration_path(resource_name))do | f | %> ' – beaconhill