Ruby on rails 更改rails上URL中的参数
我想更改URL上的Ruby on rails 更改rails上URL中的参数,ruby-on-rails,routing,Ruby On Rails,Routing,我想更改URL上的:id参数。我在routes.rb文件中添加了如下内容: match "articles/:name/edit", :to => 'articles#edit', :as => 'edit_article' 认为:name将被服务器读取为参数[:name]稍后在rails中为我。我为编辑编辑编辑了我的文章控制器定义,因此: def edit @article = Article.find(params[:name]) end 我总是发现错误找不到id=t
:id
参数。我在routes.rb文件中添加了如下内容:
match "articles/:name/edit", :to => 'articles#edit', :as => 'edit_article'
认为:name
将被服务器读取为参数[:name]
稍后在rails中为我。我为编辑编辑编辑了我的文章控制器定义,因此:
def edit
@article = Article.find(params[:name])
end
我总是发现错误找不到id=test的文章,我想知道为什么是“id”而不是:name?我也试图改变比赛,但我得到了同样的结果
我还有默认的参考资料:文章仍然在我的routes.rb文件中,不知道是否有类似双重规则的东西在那里工作
整个事情是,我会在我的URL中使用名称,而不是ID号——不仅仅是编辑名称,通过show方法我可以处理它,但不能使用edit/update/delete
我是关于路由的,但我不知道我做错了什么。默认情况下,find
search Byid
您应该将其替换为find\u by\u name
忠告:使用