0

アプリで何が起こったのかわかりません。完全に機能するコントローラーがいくつかありますが、これはそうではありません。

私のsylabus_controller.rb

   # encoding: utf-8
    module Admin
      class SylabusController < BaseController

def destroy
      @sylabu = @topic.sylabus.find(params[:sylabus])
      @sylabu.destroy
     redirect_to  admin_course_topic_sylabu_path(@course, @topic), notice: 'Sylabus deleted'

    end

私の /views/admin/sylabus/index.html.rb

<% @sylabu.each do |syla| %>
            <tr>
                <td><%= syla.mupet_code %></td>
                <td><%= syla.name %></td>

              <td style="width:155px">
         <%= link_to '<i class="icon-pencil"></i>'.html_safe, edit_admin_course_topic_sylabus_path(@course,
                                                                                                        @topic,
                                                                                                        syla),
                            class: 'btn' %>
                    <%= link_to '<i class="icon-trash icon-white"></i>'.html_safe, [:admin, @course, @topic, syla], class: 'btn btn-danger', method: :delete, data: { confirm: 'Are you sure?' } %>

                <%= link_to '<i class="icon-eye-open"></i>'.html_safe, [:admin, @course, @topic, syla],
                            class: 'btn' %>

              </td>
            </tr>
            <% end %>

ターゲット Web はボタンの削除にあります。localhost:3000/admin/courses/1/topics/2/sylabus.8 で、次のエラー メッセージが表示されます。

Routing Error

No route matches [DELETE] "/admin/courses/1/topics/2/sylabus.8"
Try running rake routes for more information on available routes.

コンソールから rake routes を実行すると

                          POST   /admin/courses/:course_id/topics/:topic_id/sylabus(.:format)                             admin/sylabus#create
 new_admin_course_topic_sylabu GET    /admin/courses/:course_id/topics/:topic_id/sylabus/new(.:format)                         admin/sylabus#new
edit_admin_course_topic_sylabu GET    /admin/courses/:course_id/topics/:topic_id/sylabus/:id/edit(.:format)                    admin/sylabus#edit
     admin_course_topic_sylabu GET    /admin/courses/:course_id/topics/:topic_id/sylabus/:id(.:format)                         admin/sylabus#show
                               PUT    /admin/courses/:course_id/topics/:topic_id/sylabus/:id(.:format)                         admin/sylabus#update
                               DELETE /admin/courses/:course_id/topics/:topic_id/sylabus/:id(.:format)                         admin/sylabus#destroy

完全に機能している他のコントローラーからのコピーと貼り付けであるため、エラーが発生しているかどうかはわかりません。

ご回答ありがとうございます。

すてきな一日を

4

1 に答える 1

1

接尾辞によると、パスの代わりにパス.8を使用しているように見えます。はっきり言ってみるindexdelete

<%= link_to 'blah'.html_safe, admin_course_topic_sylabus_path(:admin, @course, @topic, syla), method: :delete %>
于 2013-10-08T21:58:24.103 に答える