2013-04-23 69 views
0

我是Rails的新手,并不断收到下面的错误。任何帮助将不胜感激。请!未定义的方法'model_name'为NilClass:类Rails 3

错误:未定义的方法`模型名称”的NilClass:类

这是我的成员控制器。

class MembershipsController < ApplicationController 

def new 
end 

def create 
    @user = User.find_by_email(params[:email]) 
    @project = Project.find(params[:project_id]) 
    @membership = @project.memberships.build(project_id: @project.id, user_id: @user.id) 
    redirect_to project_url(@membership.project_id) 
end 

end 

这里是我的会员表单。 它嵌套在项目路线下面。

<%= form_for([:project, @membership]) do |f|%> 
    <div class="field"> 
    <%= f.label "Enter the email of the person you'd like to invite:" %> 
    <%= text_field_tag :email %> 
    </div> 

    <div class="actions"> 
    <%= f.submit "Save", :class=>"btn btn-primary btn-large" %> 
    </div> 
<% end %> 

对于您的信息,memberships表是项目表和用户表之间的连接表。

我想不通为什么我不断收到上面的错误。也许有一些我错过了。请帮助!谢谢!

回答

0

无法找到2个对象@user或@project中的一个。虽然结果变成零。您无法在无对象上调用方法。更好地了解有故障的对象在哪里记录结果。

Rails.logger.debug @user.inspect 
Rails.logger.debug @project.inspect 
0

你的形式应该是form_for [@project, @membership]其中@project是一个项目实例,而不是:project

相关问题