当用户没有登录时候,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