我跟随official Guide章5.11
将_form.html.rb改为
<%= form_for @article do |f| %>
<% if @article.errors.any? %>
<div id="error_explanation">
<h2>
<%= pluralize(@article.errors.count, "error") %>
prohibited this article from being saved:
</h2>
<ul>
<% @article.errors.full_messages.each do |msg| %>
<li>
<%= msg %>
</li>
<% end %>
<ul>
</div>
<% end %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :text %><br>
<%= f.text_area :text %>
</p>
<p>
<%= f.submit %>
</p>
以及新的和编辑页面,如:
<h1>New Article</h1>
<%= render 'form', method: :get %>
<%= link_to 'Back', articles_path %>
但是当我完成编辑后,它会记录:&#34;没有路线匹配[POST]&#34; / articles / 2 / edit&#34;&#34; 以及&#34; rake路线&#34;命令显示
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
我检查了渲染的HTML文件的代码。表单的方法是POST。
顺便说一下。我不认为更改路径文件是正确的方法。因为我认为我的代码一定有问题,因为指南没有对路径文件做任何其他事情。
答案 0 :(得分:1)
将new.html.erb
更改为
<h1>New Article</h1>
<%= render 'form' %>
<%= link_to 'Back', articles_path %>
和拼写错误_form.html.rb
到_form.html.erb