Deviseのサインアップをトップ画面に持ってきたい場合
方法は2つあるなーと思い、2つ試してみました。
ひとつは、Deviseのコントローラーを作成し、サインアップ(devise/registrations/new
)をrootで指定する方法です。
これは実装できたのですが、リダイレクトの指定などrouteやコントローラーに書くことが多かったので、もっと簡単な方法ないかなと思いました。
そこで、サインアップ画面を部分テンプレートにし、トップ画面のViewで<%= render 'devise/registrations/new' %>
と書けば、コントローラーやrouteに書くことも少なくなるのではと思ったのですが、
undefined local variable or method 'resource' for
とサインアップの<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
にエラーが出ました。
このやり方は推奨されていないということでしょうか?
前者でやる方が無難なのでしょうか。