将URL参数传递给控制器​​

时间:2016-11-28 11:41:11

标签: ruby-on-rails ruby-on-rails-5

我有以下路线

#routes.rb
resources :topic

我正在尝试从控制器中的网址:id访问topic/1参数

#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

我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

#routes.rb
resources :topics #plural

Guide

<强>更新:

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

显然,你的观点路径看起来不对。您需要在show

中添加views/topic/show.html.erb视图

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

HERE是路由的完整指南