gpt4 book ai didi

ruby-on-rails-3 - Rails - 渲染 :content_type has no effect

转载 作者:行者123 更新时间:2023-12-04 07:13:53 24 4
gpt4 key购买 nike

我正在开发一个 Ruby/Rails 应用程序,它可以抓取另一个网站并使用数据呈现 RSS 提要。

因为这个应用程序是基于 Heroku 构建的,所以我通过 Controller 生成 RSS 提要,而不是将其转储到文件系统并将其作为 Assets 提供。

但是,当我设置 render :content_type 哈希时,没有任何效果。响应的内容类型仍然是 text/plain

新闻 上的操作 FeedController

def news
do_scrape
@posts = UbuEntry.all(:order => "created_at DESC", :limit => 400)
render :layout => false, :content_type => Mime::RSS
end

完整 routes.rb

UbuWebRSS::Application.routes.draw do
root :to => 'index#index'
scope :format => true, :constraints => { :format => 'rss' } do
get 'feed/news' => 'feed#news'
end
end

你可以在这里看到实时结果:

http://www.ubuwebrss.com/feed/news.rss

以及完整的源代码:

https://github.com/freen/ubuwebrss/

我查看了 Google 和 StackOverflow,但不清楚我做错了什么。

有什么建议吗?谢谢!

仅供引用:

查看脚本:/app/views/feed/news.rss.builder :

xml.instruct! :xml, :version => "1.0" 
xml.rss :version => "2.0" do
xml.channel do
xml.title "UbuWeb"
xml.description "UbuWeb is a completely independent resource dedicated to all strains of the avant-garde, ethnopoetics, and outsider arts."
xml.link 'http://www.ubu.com'

for post in @posts
xml.item do
xml.title post.title

description = post.description.to_s
unless description.empty?
# Manually add description for custom HTML sanitizing
description = @sanitizer_basic.clean(description)
xml << " " * 6
xml << "<description><![CDATA[" + description + "]]></description>\n"
end

xml.pubDate post.created_at.to_s(:rfc822)
xml.link post.href
xml.guid post.href
end
end
end
end

最佳答案

似乎它在这里返回了正确的内容类型(使用 curl -i <url> ):

HTTP/1.1 200 OK 
Server: nginx
Date: Mon, 04 Feb 2013 00:10:05 GMT
Content-Type: application/rss+xml; charset=utf-8
Content-Length: 121890
Connection: keep-alive
X-Ua-Compatible: IE=Edge,chrome=1
Etag: "74ebbfe3182fef13d8a737580453f688"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 9377e469ffad158b2480a3f6b2f2866c
X-Runtime: 0.748709
X-Rack-Cache: miss

可能是 Chrome 而不是您的应用中的错误。

关于ruby-on-rails-3 - Rails - 渲染 :content_type has no effect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14677376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com