发生错误:nil:NilClass的未定义方法“ +”

时间:2019-09-11 02:44:36

标签: ruby-on-rails ruby

在Rails应用程序上工作。实际上,我正在尝试将三个数据合并为一列。但是,发生错误...

np.sum(lda.transform(docu_term_matrix),axis=1)

apps / views / stores / new.html.erb

undefined method `+' for nil:NilClass

apps / views / stores / _hour.html.erb

<%= form_for(@seat) do |f| %>
  <div class="formItem">
    <p>Hours</p>
    <%= f.fields_for :open_hours do |h| %>
      <div id="links">
        <p class="addition"><%= link_to_add_association "Add hour", f, :open_hours, partial: 'hour' %></p>
      </div>
    <% end %>        
  </div>
  <div class="formBtn">
     <%= f.submit "Submit", class: "btn" %>
  </div>
<% end %>

apps / modes / open_hour.rb

<div class="nested-fields">
  <div class="formField">
    <%= f.select :weekday, [['Monday', 1], ['Tuesday', 2], ['Thursday', 3]] %>
    <%= f.select :started_at, [['10:00 am', 1], ['11:00 am', 2], ['12:00 am', 3]] %>
    <%= f.select :ended_at, [['1:00 pm', 1], ['2:00 pm', 2], ['3:00 pm', 3]] %>
    <p><%= link_to_remove_association "Remove hour", f %></p>
  </div>
</div>

怎么了?

1 个答案:

答案 0 :(得分:0)

存在一些潜在的问题。

  1. 您正在使用cocoon gem,应该允许使用:_destroy属性(因为您有link_to_remove_association)。

  2. 对于attr_accessor表中的列,您拥有open_hours。该模型继承自ApplicationRecord,因此这不是必需的。...假设这些是列。

  3. 您有一个名为set_hour的私有方法。在这种情况下self是什么?您想让它成为二传手吗?似乎您试图在保存记录本身之前创建一个虚拟属性。

  4. 最重要的是,您应该分别存储weekdaystarted_atended_at(我确定您已经在这样做)...然后仅使用视图帮助程序在您的视图中显示其值。