从JavaScript中呈现html而不是JSON



我在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。

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

相关内容

  • 没有找到相关文章