連絡先リストCRUDアプリケーションで、次のURLを入力すると、すべての連絡先が正しく表示されます:localhost / contact
ただし、連絡先ごとに、情報を更新するか、レコードを削除するかの2つのオプションが必要です。連絡先をクリックしたら、「Chetan」と言って、「更新」(更新ページにリンク)と「削除」(デルページにリンク)の2つのオプションがある「showmain」ページに移動します。
私のコントローラーは次のとおりです:-
class ContactController < ApplicationController
def index
@contacts=Contact.find(:all)
respond_to do |format|
format.html # index.html.erb
format.json { render json: @contacts }
end
end
def show
@contact=Contact.find(params[:id])
end
def del
@contact=Contact.find(params[:id])
end
def new
@contact=Contact.new
end
def create
@contact=Contact.new(params[:contact])
if @contact.save!
redirect_to :action => "index"
else
render :action => "new"
end
end
def showmain
respond_to do |format|
format.html # index.html.erb
format.json
# @contact=Contact.new(params[:contact])
end
def update
@contact=Contact.find(params[:id])
@contact.attributes= params[:contact]
@contact.save!
redirect_to :action => "index"
end
def delete
@contact=Contact.find(params[:id])
@contact.destroy
redirect_to :action => "index"
end
end
end
そして、構文エラー(showmain.html.erb:14:構文エラー、予期しないkeyword_ensure、$ endを期待)が発生しているshowmain.html.erbページは次のとおりです:-
<h1>Do you want to Update or Delete the Attributes? </h1>
<ul>
<li>
<%= link_to "Update" ,:action=>'show',:id => @contact -%>
</li>
<li>
<%= link_to "Delete" ,:action=>'del',:id => @contact -%>
</li>
</ul>
<% end %>
<p>
<%= link_to "Back", {:action => 'index'} -%>
</p>
エラーを削除するためにいくつかの助けが必要です。
私のshow.html.erbは次のとおりです:-
<h1>View/Edit Contact</h1>
<% link_to "Update" , contact_path(@contact) do |f| -%
<%= f.label :first_name %>:
<%= f.text_field :first_name %><br />
<%= f.label :last_name %>:
<%= f.text_field :last_name %><br />
<%= f.label :address %>:
<%= f.text_field :address %><br />
<%= f.label :city %>:
<%= f.text_field :city %><br />
<%= f.label :state %>:
<%= f.text_field :state %><br />
<%= f.label :country %>:
<%= f.text_field :country %><br />
<%= f.label :phone %>:
<%= f.text_field :phone %><br />
<%= f.label :email %>:
<%= f.text_field :email %><br />
<%= f.submit "Update" %>
<% end %>
<p>
<%= link_to 'Back', {:action => 'index'} %>
</p>