【问题标题】:when i am creating a listing , i am getting this error当我创建列表时,我收到此错误
【发布时间】:2016-04-13 17:16:04
【问题描述】:

nil:NilClass 的未定义方法 `map'

  <% end %>

  <div class="form-group">
    <%= select_tag(:location_id,options_for_select(@locations), :prompt=>"select your location")%>
  </div>

  <div class="form-group">
    <%= select_tag(:category_id,options_for_select(@categories), :prompt=>"select a category")%>

listing_controller.rb

def new
  @listing = Listing.new
  @categories = Category.all.map{|c| [c.name, c.id]}

  @locations= Location.all.map{|c| [c.name, c.id]}
end


def edit
   @categories = Category.all.map{|c| [c.name, c.id]}
    @locations= Location.all.map{|c| [c.name, c.id]}
end


def create
  @listing = Listing.new(listing_params)

  @listing.category_id = params[:category_id]
  @listing.location_id = params[:location_id]

  @listing.user_id = current_user.id


  respond_to do |format|
    if @listing.save
      format.html { redirect_to @listing, notice: 'Listing was successfully created.' }
      format.json { render :show, status: :created, location: @listing }
    else
      format.html { render :new }
      format.json { render json: @listing.errors, status: :unprocessable_entity }
    end
  end
end

【问题讨论】:

  • 您似乎没有任何 Category 或 Listing 实例。
  • 你是怎么得到这个错误的?
  • 我已经修复了错误
  • 你有什么问题?

标签: ruby-on-rails ruby


【解决方案1】:

nil 类的未定义方法映射意味着您正在调用 nil 的方法。 Nil 类没有那个方法。

调试您的代码以找出导致对象为 nil 类的原因

【讨论】:

    【解决方案2】:

    您可以通过以下代码将值分配给选择选项标签(如果其为零)之前删除此错误

    <div class="form-group">
       <% unless @locations.empty? %>
        <%= select_tag(:location_id,options_for_select(@locations), :prompt=>"select your location")%>
       <% end %>
    </div>
    
    <div class="form-group">
      <% unless @categories.empty? %>
        <%= select_tag(:category_id,options_for_select(@categories), :prompt=>"select a category")%>
      <% end %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      • 1970-01-01
      • 2016-11-06
      • 2016-05-05
      相关资源
      最近更新 更多