1 - 我的控制器就是这个,但这不是调用视图,因为这个名字是login.html.erb,我不明白因为这个发生了什么,就是显示登录的形式。
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 - 有人可以跟我说使用authenticate方法验证一个示例登录白名单用户和密码表格,可以告诉我如何使用这个方法,find_by_name_and_password不起作用。
我感谢答案,很多。
的routes.rb
Controle::Application.routes.draw do
match 'login' => 'finances#login'
resources :finances
end
答案 0 :(得分:1)
检查@user
对象。
因为,如果login
不可用,您的代码将重定向到@user
方法。
要从login.html.erb
方法渲染login
,不需要任何手动重定向。