2014-01-23 36 views
0

首先,我是新來的Rails所以請原諒我,如果這是一個蹩腳的新手問題

我有一個導軌建立特價(其中belongs_to :shopform_tag

在我的管理/特價品/ new.html.erb,形式看起來是這樣的:Rails的路由誤差的form_tag

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

<% end %> 

(路徑new_admin_shop_special_path絕對不存在
在耙路線,我有:

     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 


我的管理員/ 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] 「/管理/店/親愛-RAE /特價/新」


幫助。

回答

0

這應該工作,假設你使用的資源:

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

是的,在結束與new路徑確實存在,但只有GET方法。當您提交表格時,使用POST方法,該方法不適用於此路線。

+0

我已經使用了資源,它確實有效。謝謝 –