从JavaScript渲染html而不是JSON

时间:2012-03-06 09:58:41

标签: jquery ruby-on-rails ajax fullcalendar

我正在使用带有Ruby on Rails的jQuery FullCalendar插件,现在我想在点击日历中的事件时在jquery对话框中显示事件详细信息。 我在我的控制器EventsController

中有这个
  # 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
如果我访问url / events / 1,

按预期工作。然后我看到app / views / events / show.html.erb中生成的表单。 但是,在我的calendar.js中,我正在尝试获取该表单并使用此代码将其插入到我的对话框div中:

    // 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");
      });
    },

'data'仅包含JSON数据。 对不起,如果这是一个不起眼的问题,但我现在谷歌搜索了几个小时,但我似乎无法找到我正在寻找的。 使用RoR 3.2.2。

1 个答案:

答案 0 :(得分:1)

最后一行应该像format.js {render:partial => 'event'}