Ruby on rails 未定义的方法`合并';对于35:Fixnum

Ruby on rails 未定义的方法`合并';对于35:Fixnum,ruby-on-rails,ruby,Ruby On Rails,Ruby,找到了它 不要使用,使用 以下问题 An ActionView::Template::Error occurred in bookings#new: undefined method `merge' for 35:Fixnum app/views/bookings/_form.html.erb:31:in `block in _app_views_bookings__form_html_erb__2731573742378725623_70113682151640' 从我们的制作网站上得

找到了它

不要使用
,使用

以下问题

An ActionView::Template::Error occurred in bookings#new:

 undefined method `merge' for 35:Fixnum
 app/views/bookings/_form.html.erb:31:in `block in _app_views_bookings__form_html_erb__2731573742378725623_70113682151640'
从我们的制作网站上得到这个可怕的一般性错误,现在还不清楚原因。我们的本地主机上不会发生这种情况。这是上面提到的一行:

<%= current_employer.locations.first.name_or_address_1 %>
我进入控制台,为数据库中的每个位置运行“
name\u或\u address\u 1
”,运行良好,并为数据库中的每个雇主运行“
locations.first.name\u或\u address\u 1
”。再说一次,它很好用。那么肯定不会是这条线吧

编辑:我刚刚注释掉了该行,并部署到生产环境中,错误仍然存在。发生什么事?为什么引用了错误的行

以下是部分原因:

<%= form_for @employer, url: bookings_path, method: :post, html: { class: "main-form", id: "create-booking" } do |f| -%>
  <% @employer.errors.full_messages.each do |msg| %>
    <p><%= msg %></p>
  <% end %>

  <div id="bookings">
      <ol class="numbers">
        <li>
          <legend>Location, Pay, & Vehicle</legend>

          <div class="form-group">
            <div class="row">
              <div class="col-sm-6">
                <label>Type of job</label><br>
                <%= f.select(:job_type_id, options_from_collection_for_select(JobType.all, :id, :name_with_delivery), {}, { id: 'job-type', class: 'form-control' }) %>
              </div>
              <div class="col-sm-6">
                <label>Vehicle needed</label><br>
                <%= f.select(:vehicle_id, options_from_collection_for_select(Vehicle.all, :id, :name), {}, { id: 'vehicle-type', class: 'form-control' }) %>
              </div>
            </div>
          </div>

          <div class="form-group">
            <div class="row">
              <div class="col-sm-6">
                <label>Location</label>
                <% if current_employer.locations.size > 1 %>
                  <%= f.select :location_id, options_from_collection_for_select(current_employer.locations.all, :id, :name_or_address_1), {}, { class: 'form-control' } %>
                <% elsif current_employer.locations.size == 1 %>
                  <p><strong>Location: </strong><%#= current_employer.locations.first.name_or_address_1 %></p>
                  <%= f.hidden_field :location_id, current_employer.locations.first.id %>
                <% end %>
                <%= link_to "or add new location", new_employer_location_path(current_employer, Location.new) %>
              </div>
              <div class="col-sm-6">
                <%= f.label :pay %>
                <span id="length-message" class="pull-right" style="color: #a94442"></span>
                <br>
                <%= f.text_field :pay, class: 'form-control', id: 'pay', maxlength: '18' %>
              </div>
            </div>
          </div>

        </li>
        <legend>Shifts</legend>
        <%= render 'booking', booking: Booking.new %>
      </ol>
  </div>

  <%= link_to "Add another shift", "javascript:;", class: 'add-shift', style: 'margin-left: 40px;' %>

  <script type="text/javascript">
    $(".add-shift").click(function(){
      $("ol.numbers").append("<%= j render 'booking', booking: Booking.new %>")
    });
  </script>

  <%= f.submit "Post Shifts", class: 'btn green-button pull-right' %>
  <br>
  <br>
  <br>
  <span class="error-message bg-danger pull-right">
  </span>
<% end %>

  • 地点、付款和车辆 工作类型
    所需车辆
    位置 1 %> 位置:


  • 转移 $(“.add shift”)。单击(函数(){ $(“其他编号”)。附加(“”) });


    不要使用

    <%= f.hidden_field :field, number %>
    
    
    
    使用

    
    
    您也可以发布周围的行吗?只是给一个小的上下文,你们使用合并方法了吗?从错误中可以看出,您似乎使用了。在fixnum数据类型上合并。找到它了!不要使用
    ,使用
    当前雇主
    的一种方法吗?定义是什么?作为参考,它是一个指向雇主模型的视图助手,使用Desive gem创建。如果将Deviate与“用户”模型一起使用,则与“当前用户”类似
    <%= f.hidden_field :field, number %>
    
    <%= f.hidden_field :field, value: number %>