0

我是 Rails 开发的新手。

我创建了一个名为 review 的新数据库模型和一个名为 reviews_controller 的控制器。在我的路线文件中,我创建了评论资源。但是,当我尝试在链接中使用 reviews#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 

对此的任何帮助将不胜感激,因为我对此无能为力。

4

1 回答 1

1

欢迎来到 SO!

由于您要链接到特定评论,因此您需要将评论的 id 传递给 link_to 方法。

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

Rails 足够聪明,可以利用整个 @review 对象来找出它的 id。

或者,您可以链接到您的所有评论

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

既然你说你的标题部分中有这个链接,这可能是你真正想要做的。

于 2013-01-04T23:45:34.433 回答