设计嵌套资源视图显示没有方法错误

时间:2014-07-04 14:39:27

标签: ruby-on-rails forms nested

我的嵌套资源是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| %>
...

所有关联和路线都可以。我错过了什么?

1 个答案:

答案 0 :(得分:0)

找到解决方案。问题是我的表单需要看起来像这样:

<%= form_for([@user, @farm], :url=> new_user_farm_path(@user)) do |f| %>