加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 35的未定义方法`merge’:Fixnum

发布时间:2020-12-17 03:41:53 所属栏目:百科 来源:网络整理
导读:找到了 不要使用%= f.hidden_??field:field,number%,使用%= f.hidden_??field:field,value:number% 问题如下 An ActionView::Template::Error occurred in bookings#new: undefined method `merge' for 35:Fixnum app/views/bookings/_form.html.erb:
找到了

不要使用<%= f.hidden_??field:field,number%>,使用<%= f.hidden_??field:field,value:number%>

问题如下

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_or_address_1是:

return "from #{name}" if name.present?
"from #{address_1}"

我已进入控制台并为我们数据库中的每个位置运行“name_or_address_1”,这可以正常工作,并为我们数据库中的每个雇主运行“locations.first.name_or_address_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,: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,: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 %>

解决方法

不要用

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

使用

<%= f.hidden_field :field,value: number %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读