首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能让一个页面的错误网站使用所有的crud功能呢?

我怎样才能让一个页面的错误网站使用所有的crud功能呢?
EN

Stack Overflow用户
提问于 2017-06-20 05:26:43
回答 1查看 35关注 0票数 0

所以在某一时刻,这一切都起作用了,然后当我回来工作的时候,它停止了工作。对于我的索引页,我得到一个没有路由匹配的错误

当我检查我的路线时,我觉得它们是有限的,但我不知道这是否与我要做的事情有关。

这来自localhost3000/routes -

代码语言:javascript
复制
admin_packing_printers_path GET     /admin/packing_printers(.:format)       admin/packing_printers#index
                            POST    /admin/packing_printers(.:format)       admin/packing_printers#create
admin_packing_printer_path  PATCH   /admin/packing_printers/:id(.:format)   admin/packing_printers#update
                            PUT     /admin/packing_printers/:id(.:format)   admin/packing_printers#update
                            DELETE  /admin/packing_printers/:id(.:format)   admin/packing_printers#destroy

有趣的是,我在rake routes或routes.rb上找不到任何其他东西,但它们曾经也在那里。

索引-

代码语言:javascript
复制
<% content_for(:meta_title) { 'Packing Printers' } %>

<% content_for(:title) do %>
    <div class='admin-sub-header'>
      <%= subheader_title('Packing Printers', icon: 'users') %>
    </div>
<% end %>
<div>
  <% if current_admin_user.manager %>
    <%= button_to("+ New Packing Printer", new_admin_packing_printer_path, {:class => 'btn btn-success', :method => :get}) %>
  <% end %>
</div>
<div class="widget-box">
  <%= widget_title('Packing Printers', icon: 'wrench') %>
  <div class="widget-content nopadding">
    <table class="table table-bordered table-striped table-hover data-table">
      <thread>
        <tr>
          <th>Name</th>
          <th>GUID</th>
          <th>Actions</th>
        </tr>
      </thread>
      <tbody>
        <% @printer = PackingPrinter.new %>
        <%= simple_form_for [:admin, @printer], method: puts do |f| %>
          <td><%= f.text_field(:name) %></td>
          <td><%= f.text_field(:guid) %></td>
          <td><%= button_to("Add New Printer", new_admin_packing_printer_path(@printer), {:class => 'btn btn-primary'}) %></td>
       <% end %>
        <tr>
          <% @printers.each do |printer| %>
          <%= simple_form_for [:admin, printer] do |f| %>
            <td><%= f.text_field(:name) %></td>
            <td><%= f.text_field(:guid) %></td>
            <td><%= button_to("Update", edit_admin_packing_printer_path(printer), {:class => 'btn btn-success', :method => puts}) %>
            <%= button_to("Delete", admin_packing_printer_path(printer),
            {:class => 'btn btn-danger', method: :delete, data: { confirm: 'Are you sure?'  }}) %>
            </td>
        <% end %>
      </tr>
      <% end %>
      </tbody>
    </table>
  </div>
</div>

控制器-

代码语言:javascript
复制
class Admin::PackingPrintersController < AdminController
  def index
    @printers = PackingPrinter.all
  end

  def update
    @printer = PackingPrinter.find(params[:id])
    begin
      @printer.update!(packing_printer_params) if @printer.present?
    rescue => e
      flash[:errors] = "#{e}"
    end
    redirect_to action: "index"
  end

  def create
    begin
      PackingPrinter.create!(name: packing_printer_params[:name], guid: packing_printer_params[:guid])
    rescue => e
      flash[:errors] = "#{e}"
    end
    redirect_to action: "index"
  end

  def destroy
    @printer = PackingPrinter.find(packing_printer_params[:id])
    @printer.destroy
    if @printer.id?
      flash[:success] = 'Printer was deleted successfully.'
    else
      flash[:error] = 'Printer was not deleted'
    end
    redirect_to action: "index"
  end

private

  def packing_printer_params
    key = params[:packing_printer] if params.keys.include?('packing_printer')
    key ||= params
    key.permit(:id, :name, :guid)
  end

end
EN

回答 1

Stack Overflow用户

发布于 2017-06-20 08:01:57

我忘了我已经从routes.rb上删除了一些资源,我需要关注-

代码语言:javascript
复制
resources :packing_printers, only: [:index, :edit, :create, :new, :update, :destroy]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44640225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档