小编Ami*_*mad的帖子

从门卫提供商的多个应用程序单点注销

我正在使用Doorkeeper作为我的Rails应用程序,我正在尝试这样做,当用户从门卫提供商退出时,用户将自动从所有应用程序注销.

默认情况下,当用户从应用程序注销时,他仍将在门卫提供商应用程序中登录.

这是我的门卫提供商的会话控制器.

class SessionsController < ApplicationController
  def new
    redirect_to root_path if current_user
    session[:return_to] = params[:return_to] if params[:return_to]
  end

  def create
    user = User.find_by_email(params[:email])
    if user && user.authenticate(params[:password])
      session[:user_id] = user.id
      if session[:return_to]
        redirect_to session[:return_to]
        session[:return_to] = nil
      else
        redirect_to root_path

      end
    else
      flash.now.alert = "Email or password is invalid"
      render "new"
    end
  end

  def destroy
    session[:user_id] = nil
    flash[:alert] = "Sign Out successfully"
    redirect_to new_session_path
  end
end
Run Code Online (Sandbox Code Playgroud)

这是我的一个应用程序的会话控制器:

    class SessionsController < ApplicationController
  def create
    auth = request.env["omniauth.auth"]
    user = …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails omniauth ruby-on-rails-4 doorkeeper

12
推荐指数
1
解决办法
1275
查看次数

Rails 4.0每3个div循环然后应用类

我在下面循环

- @published_only.each do |p|
  .movie.effect
    = image_tag(p.poster_url(:thumb), class: "img")
    .mini-desc
      %h4= p.title
Run Code Online (Sandbox Code Playgroud)

它会给

<div class="movie effect>...</div>
<div class="movie effect>...</div>
<div class="movie effect>...</div>
<div class="movie effect>...</div>
<div class="movie effect>...</div>
<div class="movie effect>...</div>
Run Code Online (Sandbox Code Playgroud)

如何让它为每3个div应用'last'类.例如:

<div class="movie effect>...</div>
<div class="movie effect>...</div>
<div class="movie effect last>...</div>
<div class="movie effect>...</div>
<div class="movie effect>...</div>
<div class="movie effect last>...</div>
Run Code Online (Sandbox Code Playgroud)

css ruby-on-rails ruby-on-rails-4

2
推荐指数
1
解决办法
77
查看次数

RAILS:脂肪控制器IF ELSE条件

我在这里的方法中有一个非常复杂的if else条件,并且正在考虑使其简化并更容易阅读.

def check
  @friends = params[:friends]
  @key = User.find_by_email @friends[0]
  @val = User.find_by_email @friends[1]
  user1 = User.where(email: @friends[0])
  user2 = User.where(email: @friends[1])

  if Friendship.where(user: @key, friend: @val).exists?
    render json: {message: "Relationship already establish"}
  else
    if user1.exists? && !user2.exists?
      @user = @key
      @friend = User.create email: @friends[1]
      @user.friendships.create friend_id: @friend.id
      render json: {success: true}

    elsif !user1.exists? && user2.exists?
      @friend = @val
      @user = User.create email: @friends[0]
      @user.friendships.create friend_id: @friend.id
      render json: {success: true}

    elsif user1.exists? && user2.exists?
      if Friendship.where(user: @key, …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

-1
推荐指数
1
解决办法
65
查看次数