RoR指南使用"没有路线匹配[POST]"

时间:2015-06-16 14:50:31

标签: ruby-on-rails ruby

我跟随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。

顺便说一下。我不认为更改路径文件是正确的方法。因为我认为我的代码一定有问题,因为指南没有对路径文件做任何其他事情。

1 个答案:

答案 0 :(得分:1)

new.html.erb更改为

<h1>New Article</h1>
<%= render 'form' %>
<%= link_to 'Back', articles_path %>

和拼写错误_form.html.rb_form.html.erb