2012-06-12 30 views
0

我有下面的代碼片段登錄頁面的表單標籤定義失敗

<%= form_tag :action => 'process_login'%> 
    Username: <%= text_field "user", "fullname" %>&#x00A; 
    Password: <%= password_field "user", "password" %>&#x00A; 
    <%= submit_tag %> 
<%= end_form_tag %> 
被用作index.rb頁面登錄我的系統

。 控制器指數函數看起來像這樣

def index  
    @user=MyEmployee.new 
    @user.fullname=params[:fullname] 
    @user.password=params[:password] 
end 

的錯誤是

undefined local variable or method `end_form_tag' for #<#<Class:0x5cbe468>:0x5cbcb60> 

我應該怎麼添加或更改,使其工作?

UPDATE 這裏是我的process_login功能

def process_login 
    if user=MyEmployee.authenticate(params[:fullname]) 
     session[:id]=user.id 
     redirect_to session[:return_to] 
    else 
     flash[:error]='Login fails, unauthenticated user' 
     redirect_to :action => 'login', :fullname=>params[:user][:fullname] 
    end 
    end 
+0

「讓它工作」看起來像什麼?你爲什麼要將action設置爲process_login?你的控制器中是否有一個名爲process_login的函數?如果是這樣發佈。 –

+0

我使用process_login添加進行編輯 –

回答

0

您使用的是非常,非常老語法那裏。 end_form_tag在Rails的2

不贊成使用此語法來代替:

<%= form_tag :action => 'process_login' do%> 
    Username: <%= text_field "user", "fullname" %>&#x00A; 
    Password: <%= password_field "user", "password" %>&#x00A; 
    <%= submit_tag %> 
<% end %> 

無論指南已使用你是end_form_tag真的老了,不應該被使用了。我會建議遵循Rails Tutorial