【发布时间】:2011-04-13 19:11:19
【问题描述】:
我希望用户只使用一个连接到用户会话的订单。所以我为订单设置了单一资源
routes.rb:
resource :order
视图/订单/new.html.erb:
<%= form_for @order do |f| %>
...
<% end %>
但是当我打开新订单页面时出现错误:
undefined method `orders_path`
我知道,我可以在form_for中设置:url => order_path,但是解决这个冲突的真正方法是什么?
【问题讨论】:
-
我不确定我是否明白你为什么不对资源使用单数
-
因为rails guide建议使用控制器的复数形式。但是在单数形式的控制器中存在相同的错误......
-
如果您只有一个单一的嵌套资源给您带来问题,您可以使用
form_for [@user, :subscription, @payment]为user_subscription_payment_path(@user, @payment)生成路径,例如action="/users/21/subscription/payments/29"。
标签: ruby-on-rails resources router form-for singular