私は2つのモデルにDeviseを使用しており、実行後rails g devise:views
、いくつかのビューがviews/devise/に作成されます - それらのいくつかは問題なく、これら2つのモデル間で共有できますが、いくつかのフィールドを追加する必要があります(モデルによって異なります)登録の方へ。
たとえば、devise/registrations/new.html.erb
私はこれを持っています:
サインアップ
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<p><%= f.label :first_name %><br />
<%= f.text_field :first_name %></p>
<div><%= f.label :email %><br />
<%= f.email_field :email %></div>
<div><%= f.label :password %><br />
<%= f.password_field :password %></div>
<div><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %></div>
<div><%= f.submit "Sign up" %></div>
<% end %>
<%= render :partial => "devise/shared/links" %>
これは問題ありませんが、モデル固有にするにはどうすればよいですか? devise に /views/my_model/new.html.erb を見るように指示するにはどうすればよいですか? 各モデルには異なるフィールドがあるため、基本的に、Devise を使用しているモデルごとに 2 つの個別の登録/新しいテンプレートが必要です。
を実行すると、代わりにrails g devise:views mymodel
のテンプレートがレンダリングされます。views/devise
views/mymodel/devise