创建一个表单以在控制器内部路由方法

我的房子

我正在尝试创建一个重定向到表单控制器上称为accept_item的方法的表单。我的问题是,提交表单时,它没有通过accept_item方法。

form_controller.rb

def accept
    @form = Form.find(params['id'])
end
def accept_item
    redirect_to inventories_path
end

accept.html.erb

  <%= form_tag accept_item_forms_url do %>
      <% @form.items.each do |i| %>
          <%= label_tag 'Item Name' %>
          <p><%= i.name %></p>
          <%= label_tag 'Quantity' %>
          <p><%= text_field_tag 'quantity', i.quantity %></p>

      <% end %>
      <%= submit_tag 'Accept', class: 'btn btn-default btn-about pull-left', data: {confirm: 'Are you sure you want to accept?'} %>
  <% end %>

routes.rb

  resources :forms do
    collection do
      get :accept_item, :as => :accept_item
    end
  end

错误信息

No route matches [POST] "/forms/accept_item"
驯杀者

默认情况下form_tag帮助程序使用HTTPPOST方法。您使用以下命令定义了路线get

get :accept_item, :as => :accept_item

您应该post改用:

post :accept_item, :as => :accept_item

另外as: :accept_item,除非您打算使用accept_item_url而不是,否则我认为您不需要该零件accept_item_forms_url

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在另一个控制器的显示内为控制器创建表单

来自分类Dev

创建一个控制器

来自分类Dev

Ruby在轨道上。从另一个控制器内部创建“模型”

来自分类Dev

使用一个控制器的C#路由

来自分类Dev

将具有不同操作的控制器路由到一个控制器

来自分类Dev

将具有不同操作的控制器路由到一个控制器

来自分类Dev

从一个视图路由到另一个控制器的操作方法,并将参数传递给该控制器的构造函数

来自分类Dev

在视图控制器中全局创建一个方法,并将其调用给多个视图控制器

来自分类Dev

从另一个内部的控制器调用方法

来自分类Dev

从另一个控制器中的指令内部定义的一个控制器调用方法:AngularJS

来自分类Dev

从另一个控制器内的指令内部定义的一个控制器调用方法:AngularJS

来自分类Dev

从控制器创建一个新的HTML页面

来自分类Dev

创建一个视图控制器

来自分类Dev

从另一个控制器中调用一个控制器内部的函数-AngularJS

来自分类Dev

通过带有来自另一个控制器的变量的表单调用创建动作

来自分类Dev

一个表单在多个页面上使用一个控制器操作

来自分类Dev

在$ routeProvider路由中定义一个控制器,该路由位于单独的文件中

来自分类Dev

在$ routeProvider路由中定义一个控制器,该路由位于单独的文件中

来自分类Dev

Rails:在视图中有一个按钮调用控制器中的方法,路由不起作用

来自分类Dev

调用另一个控制器的方法

来自分类Dev

如何在另一个控制器的方法中调用一个控制器的方法

来自分类Dev

Laravel-一个控制器中另一个控制器的运行方法

来自分类Dev

从一个控制器的角度将表单传递给完全不同的控制器

来自分类Dev

从一个控制器的角度将表单传递给完全不同的控制器

来自分类Dev

控制器需要一个参数的值-内部服务器错误500

来自分类Dev

一个控制器中的多条路由导致400:错误的请求

来自分类Dev

如何使用Iron-Router使用一个路由控制器渲染多个模板?

来自分类Dev

共享一个控制器的多角度路由

来自分类Dev

在另一个控制器中时,rails路由无法按预期工作

Related 相关文章

  1. 1

    在另一个控制器的显示内为控制器创建表单

  2. 2

    创建一个控制器

  3. 3

    Ruby在轨道上。从另一个控制器内部创建“模型”

  4. 4

    使用一个控制器的C#路由

  5. 5

    将具有不同操作的控制器路由到一个控制器

  6. 6

    将具有不同操作的控制器路由到一个控制器

  7. 7

    从一个视图路由到另一个控制器的操作方法,并将参数传递给该控制器的构造函数

  8. 8

    在视图控制器中全局创建一个方法,并将其调用给多个视图控制器

  9. 9

    从另一个内部的控制器调用方法

  10. 10

    从另一个控制器中的指令内部定义的一个控制器调用方法:AngularJS

  11. 11

    从另一个控制器内的指令内部定义的一个控制器调用方法:AngularJS

  12. 12

    从控制器创建一个新的HTML页面

  13. 13

    创建一个视图控制器

  14. 14

    从另一个控制器中调用一个控制器内部的函数-AngularJS

  15. 15

    通过带有来自另一个控制器的变量的表单调用创建动作

  16. 16

    一个表单在多个页面上使用一个控制器操作

  17. 17

    在$ routeProvider路由中定义一个控制器,该路由位于单独的文件中

  18. 18

    在$ routeProvider路由中定义一个控制器,该路由位于单独的文件中

  19. 19

    Rails:在视图中有一个按钮调用控制器中的方法,路由不起作用

  20. 20

    调用另一个控制器的方法

  21. 21

    如何在另一个控制器的方法中调用一个控制器的方法

  22. 22

    Laravel-一个控制器中另一个控制器的运行方法

  23. 23

    从一个控制器的角度将表单传递给完全不同的控制器

  24. 24

    从一个控制器的角度将表单传递给完全不同的控制器

  25. 25

    控制器需要一个参数的值-内部服务器错误500

  26. 26

    一个控制器中的多条路由导致400:错误的请求

  27. 27

    如何使用Iron-Router使用一个路由控制器渲染多个模板?

  28. 28

    共享一个控制器的多角度路由

  29. 29

    在另一个控制器中时,rails路由无法按预期工作

热门标签

归档