StaticPages 中的名称错误#home
NameError in StaticPages#home
在 routes.rb
中执行以下操作后,我得到了 "NameError"
Rails.application.routes.draw do
root 'static_pages#home'
get '/help', to: 'static_pages/help'
get '/about', to: 'static_pages/about'
get '/contact', to: 'static_pages/contact'
get '/sigunup', to: 'users#new'
end
有人可以帮帮我吗?谢谢
Showing /home/bdme551/bdme21/app/views/layouts/_header.html.erb where line #7 raised:
undefined local variable or method `help_path' for #<#<Class:0x007f7474f3d208>:0x007f747555c508>
Extracted source (around line #7):
<ul class="nav navbar-nav navbar-right">
<li><%= link_to "Home", root_path %></li>
<li><%= link_to "Help", help_path %></li>
<li><%= link_to "Log in", '#' %></li>
</ul>
</nav>
StaticPagesController 具有以下内容:
class StaticPagesController < ApplicationController
def home
end
def help
end
def about
end
def contact
end
end
问题是您还没有为自定义 GET
路由定义名称。如果你 运行 rake routes
,除了 root
.
之外,你不应该为任何路线找到 prefix
您可以使用 as
选项为自定义路由添加名称。
get '/help', to: 'static_pages#help', as: :help
请注意,在您的代码中,您将 static_pages/help
作为 to
选项的值。
应该是static_pages#help
。 #
指的是实例方法。
现在,如果您尝试 运行 rake routes
,您应该会发现 help
作为 /help
路由的前缀。
此外,通过将 /
替换为 #
来修复其他路由定义。
在 routes.rb
中执行以下操作后,我得到了 "NameError"Rails.application.routes.draw do
root 'static_pages#home'
get '/help', to: 'static_pages/help'
get '/about', to: 'static_pages/about'
get '/contact', to: 'static_pages/contact'
get '/sigunup', to: 'users#new'
end
有人可以帮帮我吗?谢谢
Showing /home/bdme551/bdme21/app/views/layouts/_header.html.erb where line #7 raised:
undefined local variable or method `help_path' for #<#<Class:0x007f7474f3d208>:0x007f747555c508>
Extracted source (around line #7):
<ul class="nav navbar-nav navbar-right">
<li><%= link_to "Home", root_path %></li>
<li><%= link_to "Help", help_path %></li>
<li><%= link_to "Log in", '#' %></li>
</ul>
</nav>
StaticPagesController 具有以下内容:
class StaticPagesController < ApplicationController
def home
end
def help
end
def about
end
def contact
end
end
问题是您还没有为自定义 GET
路由定义名称。如果你 运行 rake routes
,除了 root
.
prefix
您可以使用 as
选项为自定义路由添加名称。
get '/help', to: 'static_pages#help', as: :help
请注意,在您的代码中,您将 static_pages/help
作为 to
选项的值。
应该是static_pages#help
。 #
指的是实例方法。
现在,如果您尝试 运行 rake routes
,您应该会发现 help
作为 /help
路由的前缀。
此外,通过将 /
替换为 #
来修复其他路由定义。