我的嵌套资源是farm。在我的路线中,我有:
resources :users do
resource :farm
end
devise_for :users, :path => 'accounts'
因此,注册等的设计路径正在发挥作用而不会产生问题。但是当我尝试创建一个新的农场时,我收到了这个错误:
undefined method `farm_user_path' for #<#<Class:0x463d8f8>:0x46493e8>
我通过以下方式访问它:
<%= link_to "New Farm", new_user_farm_path(current_user) %>
在我的农场管理员中,我有:
class FarmsController < ApplicationController
# GET /farms
# GET /farms.json
include Devise::Controllers::Helpers
helper_method :current_user
def new
@farm = Farm.new
@user = User.find(current_user)
respond_to do |format|
format.html # new.html.erb
format.json { render json: @farm }
end
end
...
end
我制作新农场的形式是:
<%= form_for([@farm, @user]) do |f| %>
...
所有关联和路线都可以。我错过了什么?
答案 0 :(得分:0)
找到解决方案。问题是我的表单需要看起来像这样:
<%= form_for([@user, @farm], :url=> new_user_farm_path(@user)) do |f| %>