2011-07-27 81 views
2

我試圖渲染一個事件爲ics和vcs。我有兩個建設者設置創建視圖ics/ical

show.ics.erb 
show.vcs.erb 

但我不知道如何設置視圖來響應相應。我試過了:

respond_to do |format| 
    format.html { render :layout => "open_dashboard" } 
    format.ics { } 
    format.vcs { } 
end 

但這並不奏效。日誌有:

Started GET "/events/1.vcal" for 127.0.0.1 at 2011-07-27 11:47:36 -0500 
    Processing by EventsController#show as 
    Parameters: {"id"=>"1"} 
    Consultation Load (0.9ms) SELECT "event".* FROM "events" WHERE "events"."id" = 1 LIMIT 1 
    User Load (34.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1 
Rendered events/show.html.erb within layouts/open_dashboard (153.8ms) 
Completed 406 Not Acceptable in 237ms (Views: 124.5ms | ActiveRecord: 35.2ms) 

那麼,我該如何得到它來呈現正確的看法?

+0

除了Martin Frosts的回答你不想說'''format.ics {@object}'''? –

回答

3

您是否記得在config/initializers/mime_types.rb中註冊您的自定義MIME類型?

類似Mime::Type.register "text/calendar", :ics可能會爲.ics做訣竅。

+0

我已經做到了。但這對其他人來說是一個很好的提醒。在我的情況下,我是愚蠢的,要去vcs和ics去vcs和ics。 – RyanJM

+2

對於其他人:因爲這是對這些人的默認行爲,所以您不需要respond_to塊。 – RyanJM