首先,Rails相当新鲜。我一直在关注使用'link_to'命令的教程 - 基本上,我有一些链接文本'关于我们','常见问题','联系我们',我希望他们链接到他们各自的页面。
在本教程之后,我的contact_us.html.erb文件中的代码如下所示:
<%= link_to "About Us", {:controller => ‘static_pages’, :action => ’about_us’} %>
我的控制器名为static_pages_controller.rb
,我在该文件中有一个about_us
方法,其中没有代码:
def about_us
end
我的控制器代码是:
class StaticPagesController < ApplicationController
def about_us
end
def faq
end
def contact_us
end
def t_and_c
end
def t_and_c_competition
end
def show
end
end
我收到错误:
Static_pages中的NameError#contact_us
未定义的局部变量或方法`'static_pages'......等等
任何想法有什么不对?我想这可能是因为本教程适用于ruby 1.8.6和Rails 2.0.2,而且我有Ruby 1.8.7和Rails 3.2.7。我听说Rails因为没有向后兼容而臭名昭着。我应该更改我的代码吗?要什么?谢谢你的帮助。
℃。
答案 0 :(得分:1)
嗨我认为你的问题是你在link_to方法中传递参数值时使用的是’
而不是普通的单引号(')或加倍的引号(“)
改变这个:
<%= link_to "About Us", {:controller => ‘static_pages’, :action => ’about_us’} %>
到此:
<%= link_to "About Us", {:controller => 'static_pages', :action => 'about_us'} %>
答案 1 :(得分:0)
我将此添加到我的routes.rb:
获取“static_pages / about_us”
现在它有效。谢谢你的帮助!