Почему вы используете @tasks
, а не @project.tasks
? потому что это покажет новую задачу, которую вы создали для своей формы?
Ну, вы все еще можете использовать @project.tasks
и сделать что-то вроде:
<% @project.tasks.each do |task| %>
<% unless task.title.nil? %>
<div class="task">
<div class="completed"><%= task.completed %></div>
<div class="complete_link"><%= link_to "Good", complete_project_task_path(@project, task) %></div>
<div class="title"><%= link_to task.title, project_task_path(@project, task) %></div>
</div>
<% end %>
<% end %>
, который пропустит задачи без заголовка.
Ошибка, которую вы получаете не потому, что переменная @tasks
пуста, потому что если бы она была, вы бы никогда не пришли к коду под ней. Вы получаете ошибку, что один из элементов в вашем @tasks
содержит значение, которого он не ожидает. Я думаю, это как-то связано с вашим complete_project_task_path(@project, task)
, который проверит что-то из task
, которое установлено неправильно?