大家好!
我尝试在我的web应用程序通过浏览器实现rss自动检测。我知道auto_discovery_link_tag,我尝试使用它。我用Safari进行了测试。但这里有一个问题-当我尝试:
/app/views/布局/application.html.erb
<%= auto_discovery_link_tag( :rss, {:controller => "users_controller", :action => "show"} ) %>
Rails的服务器显示
Routing Error
No route matches {:controller=>"users_controller", :action=>"show"}
当我尝试
/app/views/布局/application.html.erb
<%= auto_discovery_link_tag( :rss ) %>
浏览器显示RSS在每个页面上可用(这是错误的),并没有显示它。
下面是我的代码:/app/controllers/users_controller.rb
class UsersController < ApplicationController
def show
@user = User.find( params[:id] )
@title = @user.name
@microposts = @user.microposts.paginate(:page => params[:page])
respond_to do |format|
format.html
format.rss { render :layout => false }
end
end
/app/views/用户/show.rss.builder
xml.instruct! :xml, :version => "1.0"
xml.rss :version => "2.0" do
xml.channel do
xml.title "Feed of #{@user.name}"
xml.description "Rails. Feed of user."
for post in @microposts
xml.item do
xml.title post.id
xml.description post.content
xml.pubDate post.created_at.to_s(:rfc822)
end
end
end
end
_controller
部分不是必需的,rails会自动添加:
<%= auto_discovery_link_tag( :rss, {:controller => "users", :action => "show"} ) %>