ROR アプリケーションを作成しました。次に、Devise 機能を実装する必要があります。ユーザーデータを使用した既存のログインがあるため、devise Sign_in 、 sign_up などのビューを使用したくありません。どうすればこれを達成できるかについての提案
質問する
681 次
1 に答える
2
最も簡単な方法は、新しいビューを生成し、古いビューからスタイルとマークアップを追加してカスタマイズすることです。
または、サンプル アプリを参照して、必要なフォームを既存のビューにコピーします。次に例を示します。
サインインページ (新しいセッション) の場合、devise はこのコードを生成します
app/views/devise/sessions/new.html.erb内
<h2>Sign in</h2>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
<div><%= f.label :email %><br />
<%= f.email_field :email %></div>
<div><%= f.label :password %><br />
<%= f.password_field :password %></div>
<% if devise_mapping.rememberable? -%>
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
<% end -%>
<div><%= f.submit "Sign in" %></div>
<% end %>
<%= render "devise/shared/links" %>
したがって、最良のオプションは、それらを生成し、ビュー内のコードをdeviseによって生成されたものにコピーするか、deviseによって生成されたコードをビューにコピーすることです(デフォルトのdeviseルーティングを保持するため、最初のオプションの方が優れています)。デバイスコントローラーをカスタムビューにマップする必要はありません。
古いビューを本当に使用する必要がある場合は、対応するフォームとフィールドを追加し、devise コントローラーを対応するビューにマップします。この方法はより複雑ですが、実行できます。https ://github.com/plataformatec を参照してください詳細については、 /devise#configuring-controllersを参照してください。
于 2013-01-07T06:20:23.890 に答える