我安装了Rails 5。我无法让我的节目页面呈现。我的佣金路线有这个
votes_show GET /votes/show(.:format)投票#show
然后在我的app / controllers / votes_controller.rb文件中我有
def show
id = params[:id]
# If there is no person selected based on the param, choose one randomly
if !id.present?
@person = Person.order("RANDOM()").limit(1).first
else
@person = Person.find(:id => params[:id])
end
但是当我去http://localhost:3000/votes/1时,我得到了一个
No route matches [GET] "/votes/1"
错误。我错过了一些非常明显的东西。它是什么?
答案 0 :(得分:0)
votes_show GET /votes/show(.:format) votes#show
此行告诉我们“当您看到/votes/show
的路线时,请转到VotesController#show
方法。”
当您输入/votes/1
时,rails正在检查路由,而不是查找看起来像这样的路径...它专门为{{1} 查找 }
如评论中所述,您必须添加如下行:
/votes/show
或更好,使用资源丰富的路线,如
get '/votes/:id(.:format)', to: 'votes#show'