2012-03-06 28 views
0

Ruby on RailsでjQuery FullCalendarプラグインを使用していますが、カレンダーの予定をクリックすると、jqueryダイアログにイベントの詳細を表示したいと思います。 私は例えば、URL /イベント/ 1を訪問する場合は意図したとおりに動作しますEventsControllerJavaScriptからJSONの代わりにhtmlをレンダリングする

# GET /events/1 
    # GET /events/1.xml 
    def show 
    @event = Event.find(params[:id]) 

    respond_to do |format| 
     format.html # show.html.erb 
     format.xml { render :xml => @event } 
     format.js { render :json => @event.to_json } 
    end 
    end 

私のコントローラでこれを持っています。それから、app/views/events/show.html.erbで生成されたフォームが表示されます。 はしかし、私はそのフォームをGETして、このコードで私のダイアログのdivに挿入しようとしている私のcalendar.jsに:

// http://arshaw.com/fullcalendar/docs/mouse/eventClick/ 
    eventClick: function(event, jsEvent, view){ 
     $.get('/events/' + event.id, function(data, text, jqXhr) { 
      eventdialog.html(data); 
      eventdialog.dialog("open"); 
     }); 
    }, 

「データ」のみJSONデータが含まれています。 申し訳ありませんがこれはnoobyの質問ですが、私は何時間もグーグルで試してみましたが、探しているものが見つからないようです。 RoRの使用3.2.2。

+0

Googleで利用できるリンクはいくつかあります。 http://beebole.com/pure/documentation/get-started/ –

答えて

1

最後の行はformat.jsと同じである必要があります。{render:partial => 'event'}

+0

答えをありがとう、それは動作しませんでした。サーバーからこのエラーが発生しました: ActionView :: MissingTemplate({:ハンドラー=> [:erb、:coffee、:builder]、:formats => [:js、:を含む部分イベント/イベント、アプリケーション/ */home/cakism/railscode/calendar/app/views " ): app/controllers/events_controller.rb:29:' show 'の中で、 app/controllers/events_controller.rb:26: 'show ' – cakism

+0

これは一例です。エラーは、 '_event.html.erb'ファイルを実装すべきだと言います。私はあなたがすでにこのファイルを持っていると思った。この場合、{render:template => 'show'}か{render:template => 'show'、:layout => false}を試してみると、 'show.html.erb'のhtmlだけが送られます。 – gayavat

+0

ありがとうございました! :) – cakism

関連する問題