大家好,我有一个应用程序调用演示。在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
块的结束