我可能在做一些愚蠢的事情,但是......
应用程序/模型/user.rb:
class User < ActiveRecord::Base
has_one :totem
配置/路由.rb:
resources :users do
resource :totem
end
应用程序/控制器/totems_controller.rb:
class TotemsController < ApplicationController
before_filter do
@user = User.find(params[:user_id])
end
def new
@totem = @user.build_totem
end
end
应用程序/视图/图腾/new.html.erb:
<%= form_for [@user, @totem] do |f| %>
<% end %>
然后,当我导航到 时/users/123/totem/new
,我收到错误:
ActionView::Template::Error (undefined method `user_totems_path' for #<#<Class:0x007f9d3c843b00>:0x007f9d3bb6dd68>):
但是因为我使用resource :totem
而不是resources :totems
在 routes.rb 中,所以它应该使用的路径助手是user_totem_path
. 为什么不尝试使用正确的路径助手?