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 回答