Ruby on rails 更改rails上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

我想更改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=test的文章,我想知道为什么是“id”而不是:name?我也试图改变比赛,但我得到了同样的结果

我还有默认的参考资料:文章仍然在我的routes.rb文件中,不知道是否有类似双重规则的东西在那里工作

整个事情是,我会在我的URL中使用名称,而不是ID号——不仅仅是编辑名称,通过show方法我可以处理它,但不能使用edit/update/delete


我是关于路由的,但我不知道我做错了什么。

默认情况下,
find
search By
id

您应该将其替换为
find\u by\u name

忠告:使用