【发布时间】:2014-07-17 06:14:04
【问题描述】:
我收到以下错误:
没有路由匹配 {:action=>"show", :controller=>"articles", :id=>nil} 缺少必需的键:[:id]
以下是显示错误的代码。
<%= form_for :article, url: article_path(@article), method: :patch do |f| %>
这是什么错误,每当我从上一屏点击编辑时,我想我正在发送文章 ID。
这是我的 rake 路由输出
Prefix Verb URI Pattern Controller#Action
welcome_index GET /welcome/index(.:format) welcome#index
articles GET /articles(.:format) articles#index
POST /articles(.:format) articles#create
new_article GET /articles/new(.:format) articles#new
edit_article GET /articles/:id/edit(.:format) articles#edit
article GET /articles/:id(.:format) articles#show
PATCH /articles/:id(.:format) articles#update
PUT /articles/:id(.:format) articles#update
DELETE /articles/:id(.:format) articles#destroy
root GET / welcome#index
【问题讨论】:
-
你能发布你的
rake routes输出吗? -
我现在已经在问题本身中包含了 rake 路由输出
-
当您将该行更改为
<%= form_for @article, url: article_path(@article), method: :patch do |f| %>时会发生什么? -
当我按照演练过程使用 Ruby 和 rails guides.rubyonrails.org/getting_started.html 时产生了这个错误。可能需要更新文档?这令人困惑。任何有正确解决方案的人请帮忙。
-
原来我错过了编辑功能。
def edit @article = Article.find(params[:id]) end如果有人遇到同样的错误。请不要忘记添加编辑方法。
标签: ruby-on-rails ruby