0

連絡先リスト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>
4

1 に答える 1

0
def showmain

  respond_to do |format|
      format.html # index.html.erb
      format.json 
      #  @contact=Contact.new(params[:contact])
  end #Close respond_to
end # Close the showmain
于 2012-05-08T19:56:03.863 に答える