2016-07-26 12 views
0

我是一名學習Ruby on Rails的新手,通過觀看udemy視頻,但我陷入了「路由錯誤」。當他使用崇高的視頻監控器似乎有不同的顏色文本,所以我不知道我應該有什麼?我目前正在使用崇高的試用版本。我的代碼在下面,看到附加的圖像。謝謝!ruby​​ on rails代碼顯示白色文本

class PicsController < ApplicationController 

    def index 
    end 

    def new 
    @pic = Pic.new 
    end 

    def create 
    @pic = Pic.new(pic_params) 
    end 

    private 

    def pic_params 
    params.require(:pic).permit(:title, :description) 
    end 
end 

當我運行服務器,查看輸出結果: routing error 圖片顯示了我在崇高的文本編輯器代碼: [![在這裏輸入的形象描述] [2] [2]

config/routes.rb file

+1

歡迎來到Rails和SO!你如何運行服務器?終端的輸出是什麼?您在瀏覽器中訪問了哪些網址?請儘可能提供更多信息,以便我們爲您提供幫助。 – Leito

回答

3

您嘗試訪問/posts的頁面,而您的控制器和路線文件清楚地告訴路徑應爲/pic

嘗試:

http://localhost:3000/pic 

而且好像你必須解決我們config/routes.rb

Rails.application.routes.draw do 
    root "pics#index" 
    resources :pic 
    get 'posts' => 'pics#index', as: 'posts' 
end 

注:對於控制器的命名約定是Rails的複數名稱。這意味着你還必須確保你的路線指向複數版本的控制器名稱。

+0

感謝spickermann爲您的指導,但它似乎是通過嘗試/圖片沒有解決的問題,但我沒有得到一個新的錯誤「未初始化常量PicController」以下是我的代碼routes.rb文件。 「Rails.application.routes.draw做 資源:圖片 根」圖片#索引「 結束」 –

+0

跟進...是否有一個原因,爲什麼我的文本是白色的?在udemy的視頻中,監控者的文字是藍色的 –

+0

您可以配置IDE以使用您喜歡的顏色。視頻的創建者可能已經更改了默認顏色。 – spickermann

0

好多了,您的控制器名稱是Pics,您應該在您的routes.rb文件中有resources :pics。相反,你有resource :pic。這只是一個很好的做法,錯誤在於你試圖訪問/帖子,而不是/圖片,或更好:/圖片,一旦你修好你的路線。

+0

我試過你的建議仍然沒有改變.....同樣的錯誤列在說明中。我字面上跟着udemy視頻到T和三倍檢查我的代碼。有什麼原因可以讓我的文字呈現白色,而不是藍色,因爲它在視頻中? –

+0

錯誤不能相同,如果您更改_routes.rb_並重新啓動服務器,您應該可以通過_/pics_訪問您的pics#索引。 – Leito

0

您沒有發佈帖子的路由器。轉到配置/ routes.rb中&添加新行:

get 'posts' => 'pic#index', as: 'posts' 

&網址localhost:3000/posts將與控制器pic &行動訪問index

resources :pics 

run rake routes顯示你的路徑看起來像:

localhost:3000/pics將訪問控制器pics &操作index

+0

感謝天秤座,但仍然是相同的錯誤:/ –