【问题标题】:Rails routing error with form_tag带有form_tag的Rails路由错误
【发布时间】:2014-02-13 18:51:25
【问题描述】:

首先,我是 Rails 新手,所以如果这是一个蹩脚的新手问题,请见谅

我正在创建带有导轨 form_tag 的特价商品(belongs_to :shop)

在我的 admin/specials/new.html.erb 中,表单如下所示:

<%= form_tag new_admin_shop_special_path(@current_shop) do |f| %>
  <input type = "number" name = "product_ids" />

<% end %>

(路径new_admin_shop_special_path肯定确实存在)
在 rake 路线中,我有:

                       POST   /admin/shops/:shop_id/specials(.:format)                            admin/specials#create
new_admin_shop_special GET    /admin/shops/:shop_id/specials/new(.:format)                           admin/specials#new


我的 admin/specials_controller.rb 有:

  def new
  end

  def create
    special = @current_shop.specials.build
    special.add_products(params[:product_ids])
    redirect_to admin_shop_shipping_options_path, notice: "#{special.id}"
  end

(此通知用于调试)

所以,问题是,如果我提交表单,我会收到一条错误消息

路由错误

没有路线匹配 [POST] "/admin/shops/dear-rae/specials/new"


帮助。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 forms routing


    【解决方案1】:

    这应该可行,假设您使用资源:

    <%= form_tag admin_shop_specials_path(@current_shop) do |f| %>
    

    是的,最后带有new 的路径确实存在,但只有GET 方法。当您提交表单时,使用POST 方法,该方法不适用于此路由。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-12
      • 1970-01-01
      相关资源
      最近更新 更多