0

ビューの 1 つで、以下のコードに問題があります。

<% if !@admin.emails.nil? %>
<% @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+\-.]+@[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

何が間違っている可能性がありますか?

4

1 に答える 1

1

indexメソッドがAdminController内にありません...:)

そしてそれはでは@emailsなく定義します@admin

于 2012-04-28T04:27:14.503 に答える