首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nil:NilClass的未定义方法‘`emails’

nil:NilClass的未定义方法‘`emails’
EN

Stack Overflow用户
提问于 2012-04-28 11:58:11
回答 1查看 1K关注 0票数 0

在我的一个视图中,我遇到了以下代码的问题:

代码语言:javascript
复制
<% if !@admin.emails.nil? %>
<% @admin.emails.each do |email| %>
  <tr>
    <td><%= email.email %></td>
  </tr>
<% end %>
<% end %>

这会产生一个错误:

代码语言:javascript
复制
undefined method `emails' for nil:NilClass
Extracted source (around line #1):
1: <% @admin.emails.each do |email| %>
2:   <tr>
3:     <td><%= email.email %></td>
4:   </tr>

管理控制器:

代码语言:javascript
复制
class AdminController < ApplicationController
end
def index
      @emails = Email.all
      respond_to do |format|
       format.html # index.html.erb
       format.xml  { render :xml => @emails }
     end
end

电子邮件模型:

代码语言:javascript
复制
class Email < ActiveRecord::Base
  attr_accessible :email
  belongs_to :admin
  email_regex = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i

  validates :email, :presence   => true,
                    :length     => { :maximum => 250 },
                    :format     => { :with => email_regex },
                    :uniqueness => { :case_sensitive => false }

end

管理模式:

代码语言:javascript
复制
class Admin < ActiveRecord::Base
  has_many :emails
end

你知道会出什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-28 12:27:15

您的索引方法不在AdminController内...:)

而且它定义的是@emails而不是@admin

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10360443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档