ログインとログアウトを処理するための UserSessions コントローラーがありますが、それを拡張して、認証されていないユーザーが電子メール アドレスを入力して、調査を受けるためのリンクを受信できるようにしました。
ここに私のルートがあります:
resources :user_sessions, only: [:new, :create, :destroy]
post 'take_individual_survey' => 'user_sessions#take_survey', as: :take_individual_survey
ただし、以下のこのフォームは、user_sessions#take_survey ではなく user_sessions#new に投稿しています。何らかの理由で、作成などのコントローラー内の他のアクションにフォームをルーティングできますが、フォームを目的のパスにルーティングしようとすると、ただルーティングするだけです。 #新着。
= simple_form_for @member, url: take_individual_survey_path, method: :post do |f|
=f.input :email, label: 'Please enter your email address', placeholder: 'john@doe.co.za', input_html: { class: 'respondent-email' }
=f.submit 'Take Survey!', class: 'button'