2015-10-28 68 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

做了答案的工作? –