0

我有三个嵌套资源模型。Rails嵌套路由

class User < ActiveRecord::Base 
    has_many :basiccases 
end 

class Basiccase < ActiveRecord::Base 
    belongs_to :user 
    has_one :form3_c  
end 

class Form3C < ActiveRecord::Base 
belongs_to :basiccases 
end 


resources :basiccases do 
    resources :form3_cs 
    end 

我想给basiccase发送到使用

<%= link_to "ADD Form3C", new_basiccase_form3_c_path(@basiccase)%> 

新的形式,并在方法的form_for新视图使用

<%= form_for([@form3c, @basiccase]) do |f| %> 

获取形式的新值。 我的控制器代码

class Form3CsController < ApplicationController 
    #before_filter :authenticate 

    def new 
    @title = "New Form 3C" 
    @basiccase = Basiccase.find_by_id(params[:id]) 

    @form3c = Form3C.new if signed_in? 
    end 

    def create  
     @form3c = @basiccase.build_form3_c(params[:form3c]) 
      if @form3c.save 
      flash[:success] = "Form created!" 
      redirect_to current_user 
      else 
      flash[:warning] ="Failed to create a Form" 
      render 'users/show' 
      end 
    end 
end 

我的主要目的是让在form3_c控制器的创建方法basiccase_id并指定外键的属性。我的方法是否正确?
我得到一个错误

undefined method `model_name' for NilClass:Class 
Extracted source (around line #2): 

1: <h1>Add Form 3C </h1> 
2: <%= form_for(@basiccase) do |f| %> 
3:  <%= render 'shared/error_messages', :object => f.object %> 
4: 
5:  <div class="field"> 
+0

'的error'。什么错误? – Dogbert 2012-03-25 16:57:26

+0

未定义方法'[]'为零:NilClass – 2012-03-25 16:58:25

+0

哪条线抛出该错误? – Dogbert 2012-03-25 17:17:45

回答

0

尝试

<%= form_for([@basiccase, @form3c]) do |f| %> 
+0

它仍然引发错误。未定义的方法'model_name'为NilClass:Class未定义的方法'model_name'为NilClass:Class – 2012-03-25 18:49:14