0

わかりましたので、私のジャンルを f.select フォームにリストしようとしていますが、エラーが発生しています。私はいたるところを見てきましたが、自分が何をしているのか理解していません。rails c と入力して入力すると、g = Genre.allすべてのジャンルが一覧表示され、g.map出力されます=> #<Enumerator: ...>

エラー:

undefined method `map' for nil:NilClass

ページを表示:

<%= f.fields_for :genres do |g| %>
  <div class="field">
    <%= g.label :genre %>
    <%= g.select :genres, @genres.map {|g| g.name} %>
  </div>
<% end %>

コントローラ:

def create
  @song = Song.new(params[:song])
  @genres = Genre.all
  if @song.save
    redirect_to player_path
  else
    render :new
  end
end
4

1 に答える 1

2

アクションでも@genres変数を割り当てる必要があります。new

def new
  @genres = Genre.all
end
于 2012-11-08T19:08:19.320 に答える