我是rails的新手,我正在尝试在网页中添加登录功能。我跟随了一个讲师给我的例子,但它仍然导致错误。在notepad ++的布局中,application.html.erb页面(它基本上保存了网站上其他页面的链接,它们位于主页上)中可以找到错误。这可能是一个非常模糊的问题,但也许对红宝石有更好理解的人可能会指出我正确的方向。
<% if !signed_in? %> **(This line is highlighted red)**
<li><%=link_to "Sign In", login_path %></li>
<% else %>
<li>Signed in as <%= @current_candidate.name%></li>
<li><%= link_to "Sign Out", logout_path%></li>
app/helpers/application_helper.rb:3:in `signed_in?'
app/views/layouts/application.html.erb:29:in `_app_views_layouts_application_html_erb___772860813_51372912'
*应用程序助手*
module ApplicationHelper
def signed_in?
if session[:candidate_id].nil
return
else
@current_candidate = Candidate.find_by_id(session[:candidate_id])
end
end
end
答案 0 :(得分:1)
假设这不是拼写错误
if session[:candidate_id].nil
return
else
@current_candidate = Candidate.find_by_id(session[:candidate_id])
end
你需要在零结尾处加上问号
if session[:candidate_id].nil?
return
else
@current_candidate = Candidate.find_by_id(session[:candidate_id])
end