Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何将我的url更改为帖子链接id?_Ruby On Rails - Fatal编程技术网

Ruby on rails 如何将我的url更改为帖子链接id?

Ruby on rails 如何将我的url更改为帖子链接id?,ruby-on-rails,Ruby On Rails,我必须为我的项目设计一个类似reddit/黑客新闻的网站。当我点击一篇文章的url时,它类似于www.website.com/links/4。我需要url路径类似于www.website.com/item?id=1234 不太确定从哪里开始。我试过用slug,但运气不好 编辑: routes.rb Rails.application.routes.draw do resources :links, except: :index do resources :comments, only: [:cr

我必须为我的项目设计一个类似reddit/黑客新闻的网站。当我点击一篇文章的url时,它类似于
www.website.com/links/4
。我需要url路径类似于
www.website.com/item?id=1234

不太确定从哪里开始。我试过用slug,但运气不好

编辑:

routes.rb

Rails.application.routes.draw do
resources :links, except: :index do
resources :comments, only: [:create]
end
get '/comments' => 'comments#index'
resources :users, only: [:new, :create]
resources :sessions, only: [:new, :create] do
delete :destroy, on: :collection
end
get 'misc/about'
get 'users/new' 
root 'links#index'
end

你的问题一点也不清楚,看起来你缺乏一些关于轨道和路线的基础知识。 以下是一些帮助您启动的文档:

请毫不犹豫地阅读stackoverflow的伟大问题指南,写出伟大的问题。

首先,你必须检查你的路线上是否有沿着这条线的东西,或者添加它:

get "/item", to: "method#controller"
您必须使用
get
路由,如果使用
post
路由,您的参数将通过“不可见”参数传递。您将使用
item=params[:item]

然后,您必须将文章视图中的
链接更改为
,例如

<%= link_to "/item?id=" + item_id, "Link to item" %>


如果你想得到更准确的答案,发布一个更精确的问题,如果答案是你所需要的,不要忘记接受答案。

你需要更改
路线
你能添加你的路线吗?在问题中添加以下内容1)config/routes.rb
的内容和2)显示链接的
.html.erb
。我仔细阅读了查询字符串并将
'links:id'添加到:'links@show“
。下一步是否需要向控制器添加链接?