冗余路由路由

时间:2015-02-13 18:00:40

标签: ruby-on-rails controller routes

为什么我的<%= form_for charges_path %>在使用这些路线访问/ product /:product时返回一个未定义的局部变量:

  get 'product/:product'      => 'charges#new'
  post 'product/:product'     => 'charges#create'

但是当我添加这些时会起作用吗?

  resources :charges, :only => [:new, :create]

我想清理它

1 个答案:

答案 0 :(得分:2)

当您使用getpost方法时,您不会创建路径助手,即。除非您提供带有charges_path选项的字符串,否则没有:as方法。

因此,如果没有charges_path方法,ruby会认为它是变量的名称,因此您会收到错误。