2013-01-04 55 views
0

我是rails開發新手。Rails routes/show error - 沒有路由匹配{:action =>「show」,:controller =>「reviews」}

我創建了一個名爲review的新數據庫模型和一個名爲reviews_controller的控制器。在我的路線文件中,我創建了用於評論的資源。但是,當我嘗試在鏈接中使用評論#show時,我收到錯誤消息。沒有路線匹配{:action =>「show」,:controller =>「reviews」}。

我看過這個錯誤,但是我發現的任何結果都比我使用的代碼更復雜。有沒有什麼非常基本的,我在這裏失蹤。

代碼模型是

class Review < ActiveRecord::Base 
    belongs_to :user 
    end 

代碼控制器

class ReviewsController < ApplicationController 
     def show 
     @review = Reviews.find(params[:id]) 
     end 

    def new 
    end 
    end 

我鏈接到我的頭部分被

<li><%= link_to "Review", review_path %></li> 

代碼從我的路線文件

 resources :users  #New Line 
    resources :sessions, only: [:new, :create, :destroy] 
    resources :microposts, only: [:create, :destroy] 
    resources :reviews 

對此的任何幫助將不勝感激,因爲我無法得到任何關於此的任何地方。

+2

您在評論路徑中缺少@review嗎? review_path(@review) – digidigo

回答

1

歡迎來到SO!

由於您正在鏈接到特定的評論,因此您需要將評論的ID傳遞給link_to方法。

<li><%= link_to "Review", review_path(@review) %></li> 

Rails足夠聰明,可以讓整個@review對象找出它的id。

或者,你可以因爲你說你有你的頭這個鏈接部分鏈接到您的所有評論與

<li><%= link_to "Reviews", reviews_path %></li> 

,這可能是你真正想做的事。

+0

感謝您的回覆。應用程序中包含一些用戶/日誌記錄功能。當我登錄並使用

  • <%= link_to「評論」時,review_path(@review)%>
  • 代碼已糾正該問題。再次感謝您的幫助。 – Andrew

    +0

    我現在有另一個問題。 – Andrew

    +0

    評論顯示頁面正在工作,但大多數其他鏈接現在會給出錯誤匹配{:action =>「show」,:controller =>「reviews」},其中包含指向靜態網頁的鏈接。拿出評論節目視圖的鏈接來糾正這一點。 – Andrew

    相關問題