Синтаксическая ошибка слушания в Rails

Новичок в Rails, пытаюсь добавить избранное, использую черви на постах в моем приложении и не знаю, почему я получаю эту синтаксическую ошибку. Последовали за учебником шаг за шагом. Это очевидно?

/ Users / leehumphreys / Рабочий стол / с избранными сердцами /app/views/rooms/show.html.erb:292: неопределенная строка соответствует концу файла /Users/leehumphreys/Desktop/ с избранными сердцами / app / views / rooms / show. html.erb: 292: синтаксическая ошибка, неожиданный конец ввода, ожидание ')'

 <% @rooms.each do |room| %>
  <%= room.title %>
  <%= div_for room do %>
     render "hearts/button”, room: room 
    <% end %>
  <% end %

На самом деле получаю ошибку в <% @ rooms.each do | room | %>

1 ответ

Решение

Первый:

<% room.title %>

не будет ничего делать, потому что вам нужно вывести результат, таким образом:

<%= room.title %>

Тогда у вас есть слишком много end, Вам нужно только закрыть один бок:

<%= room.title %>
<%= div_for room do %>
  <%= render partial: "hearts/button”, locals: { room: room } %>
<% end %>

В основном, ваш end это завершение do, каждый do начинается блок, который должен заканчиваться end,

Также обратите внимание, что ваш рендер может быть упрощен как таковой:

render "hearts/button”, room: room

Обновить после комментария, чтобы ответить:

<% @rooms.each do |room| %>
  <%= room.title %>
  <%= div_for room do %>
    <%= render "hearts/button”, room: room  %>
  <% end %>
<% end %>

Я предлагаю вам взглянуть на какое-то учебное пособие по эрб, например это.

Другие вопросы по тегам