Привет, ребята, у меня есть демонстрация приложения. В демо, основной эстафетный звонок «контакт». теперь я пытаюсь добавить новый «адрес» модели (с 5 атрибутами) в «contact # show'page». Вот мой contactcontroller определить показатьSyntaxError после добавления новой модели
def show
@contact = Contact.find(params[:id])
@addresses = @contact.addresses.paginate(page: params[:page])
end
А вот где я пытаюсь показать «адрес» в поле зрения/контакты/show.html.erb
<%= form_for(@contact) do |f| %>
<% if @contact.addresses.any? %>
<h3>Addresses (<%= @contact.addresses.count %>)</h3>
<ol >
<%= render @addresses %>
</ol>
<%= will_paginate @addresses %>
<% end %>
<%= link_to 'Edit', edit_contact_path(@contact) %>
<%= link_to 'List', contacts_path %>
Вот вид/адреса/_address.html .erb (я не имею ни малейшего представления о том, как показать все атрибуты адреса, так что я просто использовать «address.all»)
<li>
<span class="content"><%= address.all %></span>
</li>
и когда я запустить сервер и нажмите на ссылку машины «шоу» дает мне сообщение об ошибке, как
SyntaxError in Contacts#show
ActionView::Template::Error (/media/sf_VM_working/demo/app/views/contacts/show.html.erb:38: syntax error, unexpected keyword_ensure, expecting keyword_end
/media/sf_VM_working/demo/app/views/contacts/show.html.erb:40: syntax error, unexpected $end, expecting keyword_end):
35: <%= link_to 'Edit', edit_contact_path(@contact) %>
36: <%= link_to 'List', contacts_path %>
app/controllers/contacts_controller.rb:14:in `show'
Может кто-нибудь сказать мне, где я делаю ошибку, пожалуйста, большое спасибо за помощь :)
Спасибо человека, это работает. Кстати, первый конец для этого, если на второй строке? –
Да, теги erb просто содержат ruby, поэтому, если вы открываете 'if', вы должны закрыть его с помощью' end', то это применимо и к блокам, то есть если вы не используете 'haml': D. –