1

omniath-identity gem認証システムに使用します。Gemfile に gem を追加します。またomniauth.rb、omniauth 構成用のファイルを設定します。

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :identity
end

以下のリンクを閲覧します。

http://localhost:3000/auth/identity

omn​​iauth-identity のログインページが表示されます。独自の cstom ログイン ページを作成したいと考えています。omn​​iauth のログインページを見たくありません。このページを削除または変更するにはどうすればよいですか? また、カスタム ログイン ページを追加するにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

0

omn​​iauth-identityの使用に関する優れたレールキャストがあります。http://railscasts.com/episodes/304-omniauth-identity?view=asciicastで確認する必要があります

ただし、簡単に言うと、ログインページを上書きするには、 identitiesという名前のコントローラーを作成する必要があります。

rails g controller identities

内容は次のようになります

class IdentitiesController < ApplicationController
  def new
    @identity = env['omniauth.identity']
  end
end

次に、カスタムビューを作成できます

<h1>New Account</h1>

<%= form_tag "/auth/identity/register" do %>
  <% if @identity && @identity.errors.any? %>
    <div class="error_messages">
      <h2><%= pluralize(@identity.errors.count, "error") %> prohibited this account from being saved:</h2>
      <ul>
      <% @identity.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>
  <div class="field">
    <%= label_tag :name %><br>
    <%= text_field_tag :name, @identity.try(:name) %>
  </div>
  <div class="field">
    <%= label_tag :email %><br>
    <%= text_field_tag :email, @identity.try(:email) %>
  </div>
  <div class="field">
    <%= label_tag :password %><br>
    <%= password_field_tag :password %>
  </div>
  <div class="field">
    <%= label_tag :password_confirmation %><br>
    <%= password_field_tag :password_confirmation %>
  </div>
  <div class="actions"><%= submit_tag "Register" %></div>
<% end %>

レールキャストビデオをチェックするだけで、すべてがそこにあります

于 2013-03-06T08:35:34.233 に答える