2012-08-13 51 views
0

1 - 我的控制器是這樣的,但是這不叫視圖這個名字是login.html.erb,我不明白,因爲發生這種情況,是顯示登錄。控制器不調用視圖在Rails中,是樣本

class FinancesController < ApplicationController 
    # GET /finances 
    # GET /finances.json 
    def login 
    @user = User.find_by_name(params[:user]) 
    if @user 
     session[:user_id] = @user.id 
     redirect_to :action => 'index' 
    else 
     redirect_to login_url 
    end 

    end 

    def index 
    @finances = Finance.all(:order => "created_at") 

    respond_to do |format| 
     format.html # index.html.erb 
     format.json { render json: @finances } 
    end 
    end 

2 - 有人可以跟我使用身份驗證方法來驗證樣品絲毫登錄用戶名和密碼的形式一些,可以給我看看如何使用這種方法,find_by_name_and_password不工作。

謝謝你的回答,很多。

的routes.rb

Controle::Application.routes.draw do 
    match 'login' => 'finances#login' 
    resources :finances 
end 
+0

什麼是您的控制器名稱?你在哪裏放置'login.html.erb'文件?你遇到了什麼錯誤? – 2012-08-13 01:58:49

+0

控制器名稱是'財務'和login.html.erb是財政補丁白內其他視圖由scaffold生成。我的錯誤是在導航白色錯誤「重定向錯誤」,我讀,這是因爲行動進入一個無限循環。我的路線是'資源:財務 匹配'/登錄'=>'財務#登錄' – Overduka 2012-08-13 02:10:13

+0

你有'登錄'行動到你的'config/routes.rb'文件?確保包含它並在繼續之前重新啓動網絡服務器。 – 2012-08-13 02:12:14

回答

1

檢查爲@user對象。

因爲,如果您的代碼不存在@user,則它將重定向到您的login方法。

要從login方法渲染login.html.erb方法,不需要任何手動重定向。

+0

謝謝是刪除這個'else redirect_to login_url'從控制器和視圖登錄渲染,非常非常感謝^^。 – Overduka 2012-08-13 14:29:23

相關問題