我有在我的观点一个与下面的代码的问题:未定义的方法`电子邮件的零:NilClass
<% if [email protected]? %>
<% @admin.emails.each do |email| %>
<tr>
<td><%= email.email %></td>
</tr>
<% end %>
<% end %>
这将产生一个错误:
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>
管理控制器:
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
电子邮件型号:
class Email < ActiveRecord::Base
attr_accessible :email
belongs_to :admin
email_regex = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i
validates :email, :presence => true,
:length => { :maximum => 250 },
:format => { :with => email_regex },
:uniqueness => { :case_sensitive => false }
end
联系型号:
class Admin < ActiveRecord::Base
has_many :emails
end
任何想法可能是错误的?
你在哪里定义'@ admin'? – 2012-04-28 04:00:12
废话我不是。我试图在管理员视图中显示电子邮件列表。管理员目前只是一个静态页面。我应该如何定义? – maxm 2012-04-28 04:05:04
您正在定义'@ emails',为什么不使用'@ admin.emails'来代替'@ admin.emails'? – 2012-04-28 04:16:02