2009-07-06 33 views
0

私は自分のコードを作業しているので、私はビジネスのテーブルを持っています。ビジネス情報を編集するには鉛筆アイコンがあります。編集情報は、モーダルのポップアップボックスの内側の部分に表示されます。唯一の問題は、変更を加えて「更新」をクリックすると、そのビジネスの「表示」ページにそれらを送信することです。私がしたいことは、ポップアップボックスを閉じて情報を更新することです。私のコントローラの更新機能です。Rails、ウィンドウ内のページの編集を編集する

def update 
@business = Business.find(params[:id]) 

respond_to do |format| 
    if @business.update_attributes(params[:business]) 
    flash[:notice] = 'Business was successfully updated.' 
    format.html { redirect_to(business_url(@business)) } 
    format.js 
    else 
    format.html { render :action => "edit" } 
    format.xml { render :xml => @business.errors, :status => :unprocessable_entity } 
    end 
end 

エンド

私は、次のrailscast 43を試してみましたが、私は.rjsファイルを作成したが、私はそれがすべてで動作させることができませんでした。私の更新はまだ私をショーページに連れて行っていました。どんな助けもありがとう。

EDIT:コードをいくつか追加しました。

<% form_for(@business) do |f| %> 
<%= f.error_messages %> 

<p> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
</p> 
... 
     <%= f.label :business_category %><br /> 
     <%= f.select :business_category_id, @business_categories_map, :selected => @business.business_category_id %> 
    </p> 
    <p> 
     <%= f.label :description %><br /> 
     <%= f.text_area :description %> 
    </p> 
    <p> 
     <%= f.submit 'Update' %> 
    </p> 
    <% end %> 

これがでポップアップのインデックスを介して呼び出されている私の編集ページの内側に私の形である:それはあなたのフォームのコード(ヒントヒントを見ずに言うのは難しいです

<div id="popupEdit<%=h business.id %>" class="popupContact"> 
     <a class="popupClose<%=h business.id %>" id="popupClose">x</a> 
     <% if business.business_category_id %> 
     <% @business = business %> 
     <%= render "business/edit" %> 
     <% end %> 
    </div> 
+0

ポップアップボックスにフォームコードを投稿できますか。 –

+0

この質問には誰もが来て、本当に[この回答を見る](http://stackoverflow.com/a/5766232/306084)を読んでください。 – pjmorse

答えて

0

! - )ですが、remote_form_for(AJAXリクエストを送信する)の代わりにform_for(通常のhtmlフォームのようにPOSTを送信します)を使用している可能性があります。

0

まず、javascriptなしで作業するコードを取得してください...また、RJSをまったく使用しないでください。代わりに控えめなjavascriptを使用してください。

Hyland氏によれば、私たちはさらに助けになる前にビューコードを見る必要があります。

関連する問題