Я сталкиваюсь с ошибкой. undefined method empty? for nil:NilClass?
Кажется, это происходит часть времени. Я выставил тот же код контроллера в шоу и новый. Может ли кто-нибудь указать мне правильное направление относительно того, почему я получаю ошибку и как этого можно избежать? Я создаю клиентов и прикрепляю к ним список. Иногда список существует до того, как покупатель иногда нет. Спасибо
Настройка списков есть много клиентов. Итак, я иду в customer_path и нажимаю new_customer_path, и я получаю сообщение об ошибке. Если я делаю список первым, иногда это работает. Иногда, если я refre sh вещи работают. Если я перезагружаю сервер, то он перестает работать с первой попытки. Итак, я знаю, что что-то работает, но я не уверен, почему я получаю противоречивые результаты? Мысли
customer_controller.rb - index - Пытаетесь, возможно, предварительно установить его?
@customer = Customer.new
@customers = Customer.where("user_id = ?", uid).order(updated_at: :desc)
# @lists = List.where(user_id: current_user.id).order("created_at asc").pluck(:name, :id)
@lists = List.where(user_id: current_user.id).order("created_at asc")
customer_controller.rb - новый
def new
@customer = Customer.new
puts " "
puts "============="
# @lists = List.where(user_id: current_user.id).order("created_at asc").pluck(:name, :id) rescue nil
@lists = List.where(user_id: current_user.id).order("created_at asc")
puts @lists.count
puts " "
puts "============="
end
Customers_form.erb который is _form.erb
<%= form_for(customer) do |f| %>
<% if customer.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(customer.errors.count, "error") %>
prohibited this customer from being saved:</h2>
<ul>
<% ccustomer.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="form-box">
<div class="field">
<%= f.label "First Name" %>
<%= f.text_field :firstname, :class => 'form-control' %>
</div>
<div class="field center">
<label>List</label>
<%#= f.select :list_id, options_for_select(@lists.map{ |list| [list.name, list.id] }), prompt: 'Not Assigned', class: 'form-control input-lg' %>
<%= f.select :list_id, @lists, { :include_blank => 'Not Assigned'}, class: 'form-control input-lg' %>
</div>
<%= f.hidden_field :user_id, :value => current_user.id %>
<br>
<div class="actions">
<%= f.submit "Save", :class => "btn btn-lg btn-long btn-warning" %>
</div>
</div>
Мой вывод журнала:
Started GET "/customers/new" for 127.0.0.1 at 2020-03-01 20:37:41 -0800
Processing by CustomersController#new as HTML
User Load (1.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["id", 18], ["LIMIT", 1]]
Rendering customers/new.html.erb within layouts/application
Rendered customers/_form.html.erb (29.6ms)
Rendered customers/new.html.erb within layouts/application (32.3ms)
Completed 500 Internal Server Error in 74ms (ActiveRecord: 11.3ms)
ActionView::Template::Error (undefined method `empty?' for nil:NilClass):
39:
40: <div class="field center">
41: <label>List</label>
42: <%= f.select :list_id, @lists, { :include_blank => 'Not Assigned'}, class: 'form-control input-lg' %>
43: </div>
44: <% end %>
45:
app/views/customers/_form.html.erb:42:in `block in _app_views_customers__form_html_erb__810149171042607559_70218705879220'
app/views/customers/_form.html.erb:1:in `_app_views_customers__form_html_erb__810149171042607559_70218705879220'
app/views/customers/new.html.erb:8:in `_app_views_customers_new_html_erb__187385255323143294_70218705803580'
Rendering /Users/MyName/.rvm/gems/ruby-2.5.1/gems/actionpack-5.0.7/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout
Rendering /Users/MyName/.rvm/gems/ruby-2.5.1/gems/actionpack-5.0.7/lib/action_dispatch/middleware/templates/rescues/_source.html.erb
Rendered /Users/MyName/.rvm/gems/ruby-2.5.1/gems/actionpack-5.0.7/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.0ms)
Rendering /Users/MyName/.rvm/gems/ruby-2.5.1/gems/actionpack-5.0.7/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb
Rendered /Users/MyName/.rvm/gems/ruby-2.5.1/gems/actionpack-5.0.7/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.6ms)
Rendering /Users/MyName/.rvm/gems/ruby-2.5.1/gems/actionpack-5.0.7/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb
Rendered /Users/MyName/.rvm/gems/ruby-2.5.1/gems/actionpack-5.0.7/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms)
Rendered /Users/MyName/.rvm/gems/ruby-2.5.1/gems/actionpack-5.0.7/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (69.2ms)