4

@user = User.new在行中添加以确保它不是零。哪个对象是零?

undefined method `map' for nil:NilClass

Extracted source (around line #11):

8:  <%= f.hidden_field(:width)%>
9:  <%= f.hidden_field(:height)%>
10:     <% @user = User.new %>
11:     <%= collection_select(@user, :full_name, @user_array, :id, {:prompt => 'true'}, {:class=>'select'})%>
12:     <div class="submit-button">
13:         <%= submit_tag("Tag the person!")%>
14:     </div>
4

2 回答 2

9

@user_arraynil。确保使用一组用户设置它以避免出现此错误消息。

或者,如果您希望在 `select 中不显示任何选项,请设置@user_array为(一个空数组),例如:[]

collection_select @user, :full_name, @user_array || [], :id, 
  { prompt: 'true' }, { class: 'select' }
于 2012-05-24T16:47:10.460 回答
1

您必须将@user_array 添加到操作中:创建、新建、编辑和更新,最好的方法是使用before_actions

before_action :set_user_array , only: [:edit, :update, :new, :create]

 private
    def set_user_array 
      @user_array = User.all 
    end
于 2017-04-23T10:18:31.813 回答