2011-06-19 14 views
0

どのようなステップがありますか?ビューが自分のiPhoneに戻されるがapplication.html.erbとindex.html.erbから来ている(Missing)新しいRails 3アプリケーションでiPhoneをサポートする手順

ステップ1:

Mime::Type.register_alias "text/html", :iphone 
:iPhone用のconfig /初期化子/ mime_types.rbコメント解除宣言行で

ステップ2:のコピーを作成するapp/views/layouts/application.html.erbapplication.iphone.erb(私はあなたのiPhone固有のものにタイトルを変更したいので、すぐに正しいレイアウトが使用されている)

<title>My iPhone Tasks</title> 

ステップ3:具体的に呼び出すrespond_toブロックのRailsの2モデルに固執するかどうかを決定しますindex.iphone.erbのようなものが

ステップ4それらを呼び出して、あなたのコントローラに必要なビューファイルのコピーを作成しますiphoneのフォーマットを使用するか、respond_with呼び出しを使用するよりDRY的な方法に切り替えます。それは私がやったものだ、erは試してみました;-)

手順4a:お使いのコントローラにrespond_toブロックを追加します。

class TasksController < ApplicationController 
respond_to :html, :iphone 

ステップ4b:

def index 
    @tasks = Task.all 
    respond_with (@tasks) 
end 
次のようなあなたの方法を、干上がります

ステップ5:サーバーを再起動し、iPhoneからアプリを起動します。

答えて

2

正しく動作するには、respond_withのモバイルMIMEタイプのレスポンダを作成する必要があります。

application_controller.rbでレスポンダを定義します。

def self.responder 
    MobileResponder 
    end 

class MobileResponder < ActionController::Responder 

    def to_format 
    super 
    rescue ActionView::MissingTemplate => e 
    if request.format == "iphone" 
     navigation_behavior(e) 
    else 
     raise unless resourceful? 
     api_behavior(e) 
    end 
    end 
end 
関連する問題