2012-01-24 12 views
0

私はRailsの3でのjQuery Mobileを組み込むしようとしているを削除し、私は接触モデル連絡先コントローラを持っています。レール3とjQuery Mobileは - カスタムダイアログの問題

JQuery Mobileには、モバイルデバイスで正常に動作する通常のビューからダイアログを作成する機能があります。私はモデルからデータを削除しながらこれを利用しようとしています。いつもの代わりに、「あなたは本当ですか?」 javacriptのポップアップ、私はdelete.html.erbビューと削除メソッドを作成しました。

問題はJQuery Mobileダイアログが表示されているとき、「破棄」アクションではなく「更新」アクションで機能することです。(下の画像を参照)

私は削除ビューをレンダリングするためにこれを使用しています:ここで

# GET /contacts/1 
    def delete 
    @contact = Contact.find(params[:id]) 
    render 'delete'  
    end 

は破壊する方法である:

def destroy 
    contact = Contact.find(params[:id]) 
    contact.destroy  
end 

そしてここでは、削除ビューのコードです: :これはレンダリングになり

<div data-role="header"> 
    <h1>Delete</h1>  
</div> 


<div data-role="content"> 
    <%= form_for(@contact, { :action => 'destroy', :id => @contact }) do %>  
     <%= "Delete #{@contact.first_name} #{@contact.last_name}?" %>  
     <%= submit_tag %> 
    <% end %> 
</div> 

enter image description here

あなたが見ることができるように、送信ボタンのテキストを更新方法によって自動的に入力されている:10

私はは問題にソリューションはここにアドレスバーにあると思います。削除ビューは編集ビューに添付されており、Railsは破棄の代わりに更新として扱います。

マイroutes.rbをファイルは非常に簡単です:

resources :contacts 

私は何かがここで変更する必要があるだろうと仮定していますが、私はよく分かりません。また、JQuery Mobileの使用に関して変更が必要な場合があります。

ご協力いただきありがとうございます。

答えて

0

これは単なる推測ですが、ajax経由でロードしようとしているようです。 data-ajax="false"でajaxを無効にしてみてください。 jqmの古いバージョンを使用している場合もあります。古いバージョンではハッシュ経由でページが変更され、新しいバージョンでは無効にしない限りプッシュ状態が使用されます。

もしあなたがajaxを使ってユーザーを削除しようとしているのなら、おそらく、ボタン上でvclickイベントハンドラを使って、手動のajaxリクエストを言ったほうがいいでしょう。

関連する問題