【问题标题】:Authorization set up for Rails app with VK使用 VK 为 Rails 应用程序设置授权
【发布时间】:2015-09-23 18:47:45
【问题描述】:

我有适用于 Rails 的应用程序。我正在使用设计和omniauth-vkontakte。 我的应用程序可以通过 vk.com 授权用户,但是在用户通过授权后,我的导航菜单消失了。 导航菜单代码在views/layouts/application.html.erb:

<nav class="navbar navbar-default navbar-fixed-top">
  <div class="container">
    <div class="authentication">
      <% if user_signed_in? %>
          <span>Hello, <%= current_user.email %></span>
          <%= button_to 'Exit', destroy_user_session_path, {:method => :delete} %>

      <% else %>
          <%= button_to 'sign up', new_user_registration_path,
                        {class: 'btn btn-default navbar-btn btn-info', id: 'sign-up-link', :method => :get} %>
          <%= button_to 'sign in', new_user_session_path, {class: 'btn btn-default navbar-btn btn-info', id: 'sign-in-btn'} %>

      <% end %>
    </div>

  </div>
</nav>

我还有一个麻烦。当用户通过 vkontakte 通过授权时,我该怎么做?会有一个退出按钮重定向到主页? 现在它的工作方式如下:用户通过 vkontankte 进行身份验证,我收到以下消息:

Users::OmniauthCallbacks#vkontakte
Find me in app/views/users/omniauth_callbacks/vkontakte.html.haml

app/views/users/omniauth_callbacks/vkontakte.haml.html 中的代码:

%h1 Users::OmniauthCallbacks#vkontakte
%p Find me in app/views/users/omniauth_callbacks/vkontakte.html.haml

app/controllers/users/omniauth_callbacks_controller.rb 中的代码:

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController

  def vkontakte
  end

end

【问题讨论】:

  • 究竟是什么菜单消失了?你能粘贴这个菜单的代码吗?
  • @denys281 dissapers 你需要 CSS 吗?

标签: ruby-on-rails ruby gem


【解决方案1】:

授权后,它会将您重定向到 def vkontakte end 方法,然后您会看到它。

所以你可以给这个控制器添加一些修改,比如redirect_to root_path。我现在不知道你如何构建你的系统,但这里是你如何实现它的例子:link(在俄语上,但你可以查看代码)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2016-10-05
    • 2019-03-10
    相关资源
    最近更新 更多