我使用omniath-identity gem
作为身份验证系统。我向Gemfile添加gem。我还为omniauth配置设置了omniauth.rb
文件。
Rails.application.config.middleware.use OmniAuth::Builder do
provider :identity
end
我浏览以下链接。
http://localhost:3000/auth/identity
它显示了omniauth-identity的登录页面。我想创建自己的cstom登录页面。我不想看到omniauth的登录页面。如何删除或更改此页面以及如何添加自定义登录页面?
提前致谢。
答案 0 :(得分:0)
关于使用omniauth-identity有一个很好的铁路广播,您应该在http://railscasts.com/episodes/304-omniauth-identity?view=asciicast上查看
但简单来说,为了覆盖登录页面,您需要创建一个名为身份的控制器
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 %>
只需检查一下轨道视频,一切都在那里