rails用户登出时候错误

ihaohang 2013-06-01 07:02:36
当用户没有登录时候,header里显示登录注册。当用户登录后,显示个人主页和登出。
再点了登出之后,可以安全退出账号,并删除cookies。
下面是错误信息



ArgumentError in Pages#home

Showing C:/Users/Kouunn/Desktop/nihong/app/views/layouts/_header.html.erb where line #29 raised:

wrong number of arguments (0 for 2)

Extracted source (around line #29):

26: <div class="miui_logo">
27: <%= link_to image_tag('images/logo.png'),home_path %>
28: </div>
29: <% if signed_in? %>
30: <p class="language">
31: <%= link_to "个人主页",current_user %>
32: <span>|</span>

Trace of template inclusion: app/views/layouts/application.html.erb

Rails.root: C:/Users/Kouunn/Desktop/nihong
Application Trace | Framework Trace | Full Trace

app/models/user.rb:36:in `authenticate_with_salt'
app/helpers/sessions_helper.rb:29:in `user_from_remember_token'
app/helpers/sessions_helper.rb:13:in `current_user'
app/helpers/sessions_helper.rb:17:in `signed_in?'
app/views/layouts/_header.html.erb:29:in `_app_views_layouts__header_html_erb___199233694_31528296'
app/views/layouts/application.html.erb:22:in `_app_views_layouts_application_html_erb___776862230_31346676'

Request

Parameters:

None

Show session dump

Show env dump
Response

Headers:

None

----------------------------------------------------------------------------------------------
header.html.erb的代码
            
<div class="miui_logo">
<%= link_to image_tag('images/logo.png'),home_path %>
</div>
<% if signed_in? %>
<p class="language">
<%= link_to "个人主页",current_user %>
<span>|</span>
<%= link_to "登出",signout_path %>
<span>|</span>
</p>

<% else %>

<p class="language">
<%= link_to "登录",login_path %>
<span>|</span>
<%= link_to "注册",signup_path %>

</p>
<%end%>
</div>

----------------------------------------------------------------------------------------------
signed_in?定义在SessionsHelper里,代码如下



module SessionsHelper

def sign_in(user)
cookies.permanent.signed[:remember_token] = [user.id,user.salt]
current_user = user
end

def current_user(user)
@current_user = user
end

def current_user
@current_user ||= user_from_remember_token
end

def signed_in?
!current_user.nil?
end

def sign_out
cookies.delete(:remember_token)
current_user = nil
#self.current_user = nil
end

private

def user_from_remember_token
User.authenticate_with_salt(*remember_token)
end

def remember_token

cookies.signed[:remember_token || [nil , nil]]
end
end




求各位大牛帮我解决一下这个问题,是在windows平台下

ruby -版本
ruby 1.9.3p392 (2013-02-22) [i386-mingw32]

rails -版本
Rails 3.2.13
...全文
440 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Inosin_Wu 2013-06-02
  • 打赏
  • 举报
回复
app/models/user.rb:36:in `authenticate_with_salt' 这个方法是怎么定义的?

2,763

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ruby/Rails
社区管理员
  • Ruby/Rails社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧