2015-10-28 83 views
0

我有這樣的形式:Rails的路線正確

= form_for :vouchers, as: :post, url: '/voucher' do |f| 
    = text_field_tag 'code' 
    = button_tag I18n.t('activation_code'), class: 'btn', type: 'submit' 

這條路線:

post '/voucher', to: 'webshoppages#webshop_voucher_post'

而這個錯誤:uninitialized constant WebshoppagesController

==

當我把路線聲明在namespace :webshop_flow do ... end之內塊,它錯誤告訴我:Route [POST] /nl/bestellen/voucher不存在。

rake routes實際上提到voucher POST /voucher(.:format) webshoppages#webshop_voucher_post

+0

這條路線是很好,去看看你的控制器,看看'WebshoppagesController '存在。提示:它沒有。如果是這樣,問題的第二部分會讓我相信你已經命名了它。 – sjagr

+0

您是否試圖從routes.rb文件中的「post'/ voucher'」中刪除「/」? –

+0

通常類名錯別字或文件名錯字 – shirakia

回答

0

我知道了。你命名空間你的控制器。你應該在routes.rb中的文件一樣,使用的命名空間塊:

namespace :webshop_flow, path: '/' do 
    post 'voucher', to: webshoppages#action 
end 
在窗體

,你試試:

form_for :voucher, webshop_flow_voucher_url do |f| 
    # your form here 
end 
+0

我現在正在接收'錯誤的參數數量(0代表1)',怎麼了? – jbehrens94

+0

對不起,我忘了:憑證參數。固定 –

+0

做了答案的工作? –