Неопределенный метод с учетом всех пользователей и всех статей

Мы решили наш Linux / PHP-подход к проблеме SQL Server, создав новую учетную запись для входа в систему с проверкой подлинности SQL Server вместо проверки подлинности Windows.

3
задан mechnicov 23 February 2019 в 15:34
поделиться

2 ответа

В своем блоке each вы использовали @objective. Это nil

Использование objective.

<% @objectives.each do |objective| %>
  Objective:
  <%= objective.title %>
  Key Result:
  <% objective.keyresults.each do |keyresult| %>
    <%= keyresult.title %>
  <% end %>
<% end %>
0
ответ дан mechnicov 23 February 2019 в 15:34
поделиться

Чтобы расширить ответ @mechnicov: внутри цикла используйте имя локальной переменной objective, а не имя переменной экземпляра @objective. NoMethodError точно говорит вам, в чем проблема. Объект, для которого вы вызвали метод, равен nil, поскольку он не был определен.

Вот простой пример актуальной проблемы:

[:a, :b, :c].each { |item| print @item.capitalize }
# NoMethodError: undefined method `capitalize' for nil:NilClass
# the instance variable @item is an instance of NilCLass

[:a, :b, :c].each { |item| print item.capitalize }
# ABC=> [:a, :b, :c] 

В rails вы определяете переменные экземпляра объекта модели внутри контроллера. Перебирая их в представлении, вы используете локальную переменную, назначенную в вашем цикле.

0
ответ дан lacostenycoder 23 February 2019 в 15:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: