Ruby Rails - Pages#home 中的 NoMethodError
Ruby on Rails - NoMethodError in Pages#home
我是 rails 的新手,正在尝试向网页添加登录功能。我遵循了一位讲师给我的一个例子,但它仍然会导致错误。错误出现在 notepad++ 布局中的 application.html.erb 页面(基本上包含网站上其他页面的链接,它们在主页上)。这可能是一个非常模糊的问题,但也许对 ruby 有更好理解的人可能会指出正确的方向。
<% 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
假设这不是拼写错误
if session[:candidate_id].nil
return
else
@current_candidate = Candidate.find_by_id(session[:candidate_id])
end
你需要在 nil 的末尾加一个问号
if session[:candidate_id].nil?
return
else
@current_candidate = Candidate.find_by_id(session[:candidate_id])
end
我是 rails 的新手,正在尝试向网页添加登录功能。我遵循了一位讲师给我的一个例子,但它仍然会导致错误。错误出现在 notepad++ 布局中的 application.html.erb 页面(基本上包含网站上其他页面的链接,它们在主页上)。这可能是一个非常模糊的问题,但也许对 ruby 有更好理解的人可能会指出正确的方向。
<% 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
假设这不是拼写错误
if session[:candidate_id].nil
return
else
@current_candidate = Candidate.find_by_id(session[:candidate_id])
end
你需要在 nil 的末尾加一个问号
if session[:candidate_id].nil?
return
else
@current_candidate = Candidate.find_by_id(session[:candidate_id])
end