1

私は Ruby と Devise を学んでいますが、何らかの理由でログインしていないユーザーがログインするようにリダイレクトされません。

これが私が持っているルートです:

  scope :module => :mobile, :as => :mobile do
    constraints(:subdomain => /m/) do
      devise_for :users, :path => "", :path_names => { :sign_in => "login", :sign_out => "logout", :sign_up => "signup" }, :controllers => {:sessions => "sidebar/sessions"}

      resources :home

      resources :disclosures # Will have new, get, look up a disclosure

      devise_for :users, :path => "", :path_names =>
          { :sign_in => "login", :sign_out => "logout", :sign_up => "signup" }

    end
  end

ここに私のコントローラーがあります:

class Mobile::HomeController < ApplicationController
  layout "mobile/application"
  before_filter :authenticate_user!, :only => [:edit, :update, :destroy]

  def index

    respond_to do |format|
      format.html
    end
  end

  def create

  end
end

ユーザーがログインにリダイレクトされない理由は何ですか? 現在、ユーザーには、認証されている場合にのみ表示されるページが表示されています。

ありがとう!

4

1 に答える 1

1

この行を変更します。

before_filter :authenticate_user!, :only => [:edit, :update, :destroy]

before_filter :authenticate_user!, :only => [:index, :edit, :update, :destroy]
于 2012-04-17T18:04:52.040 に答える