2013-03-20 119 views
0

首先,Rails很新穎。我一直在關注使用'link_to'命令的教程 - 基本上,我與'關於我們','常見問題','與我們聯繫'的文本有一些鏈接,我希望它們鏈接到各自的頁面。Rails 3.2.7和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 

我得到的錯誤:

NameError in Static_pages#contact_us

undefined local variable or method `‘static_pages'......etc

任何想法有什麼不對?我想這可能是因爲這個教程是針對Ruby 1.8.6和Rails 2.0.2的,我有Ruby 1.8.7和Rails 3.2.7。我聽說Rails因不向後兼容而臭名昭着。我應該更改我的代碼嗎?什麼?謝謝你的幫助。

C.

+0

嗨,在上面添加它。將 CHarris 2013-03-20 00:46:00

+0

您是否聲明瞭靜態頁面的路由? – muttonlamb 2013-03-20 00:46:53

+0

**您的Rails版本已過時,容易受到衆多安全漏洞的影響!立即升級!**。此外,六月份將不再支持Ruby 1.8.7,您應該儘快切換到Ruby 1.9或2.0。 – 2013-03-20 01:26:47

回答

1

您好我認爲你的問題是,你正在使用,而不是普通的單引號(')或傳遞參數的值當的link_to方法

更改此一倍引號(「):

<%= link_to "About Us", {:controller => ‘static_pages’, :action => ’about_us’} %> 

這樣:

<%= link_to "About Us", {:controller => 'static_pages', :action => 'about_us'} %> 
+0

同意,錯誤的報價。 – m4tm4t 2013-03-20 00:49:24

0

我的廣告DED這對我的routes.rb:

GET 「static_pages/about_us」

,現在它的工作原理。謝謝你的幫助!