添加新模型后出现SyntaxError错误



大家好,我有一个应用程序调用演示。在demo中,一个主脚手架调用'contact'。现在我正试图在"contact#show"页面中添加一个新模型"address"(带有5个属性)。这里是我的contactcontroller define show

def show
    @contact = Contact.find(params[:id])
    @addresses = @contact.addresses.paginate(page: params[:page])
end 

这里是我试图在view/contacts/show.html.erb中显示'address'的地方

<%= 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 %>

这是视图/addresses/_address.html。Erb(我不知道如何显示地址的所有属性,所以我只是使用'address.all')

<li>
  <span class="content"><%= address.all %></span>
</li>

当我启动服务器,点击'show'链接机器给我错误信息,如

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'

谁能告诉我我错在哪里,非常感谢你的帮助:)

你的动词模板缺少一个结尾

应该是这样的

<%= form_for(@contact) do |f| %>
  <% if @contact.addresses.any? %>
    <h3>Addresses (<%= @contact.addresses.count %>)</h3>
      <ol>
        <%= render @addresses %>
      </ol>
    <%= will_paginate @addresses %>
  <% end %>
<% end %> 
<%= link_to 'Edit', edit_contact_path(@contact) %> 
<%= link_to 'List', contacts_path %>

注意form_for块的结束

相关内容

最新更新