将 URL 参数传递给控制器

Passing URL params to controller

我有以下路线

#routes.rb
resources :topic

我正在尝试从我的控制器

中的URLtopic/1访问:id参数
#controller/topic_controller.rb    
def show
    @param = params[:id]
end

show.html.erb

中显示
#view/show.html.erb
<div>
    <%= @param %>
</div>

但是,没有任何显示,@param 也没有打印出来。

我的model/topic.rb如下:

#model/topic.rb
class Topic < ApplicationRecord
    validates :name, presence: true
end

我是不是漏掉了什么?

#routes.rb
resources :topics #plural

Guide

更新:

#routes.rb
resources :topics #plural as per convention 

看来你的视图路径不对。您需要在 views/topic/show.html.erb

中添加 show 视图

如果您将资源从 topic 更改为复数 topics,那么您需要将控制器重构为 topics_controller 同样,您的视图路径将为 views/topics/show.html.erb

HERE 是路由的完整指南