Exi*_*iRe 2 xml safari macos rss ruby-on-rails-3.1
美好的一天!
我尝试在我的Web应用程序中通过浏览器实现rss的自动检测.我知道auto_discovery_link_tag,我试图使用它.我通过Safari测试它.但这是问题 - 当我尝试:
/app/views/layouts/application.html.erb
<%= auto_discovery_link_tag( :rss, {:controller => "users_controller", :action => "show"} ) %>
Run Code Online (Sandbox Code Playgroud)
Rails的服务器显示
Routing Error
No route matches {:controller=>"users_controller", :action=>"show"}
Run Code Online (Sandbox Code Playgroud)
当我尝试时
/app/views/layouts/application.html.erb
<%= auto_discovery_link_tag( :rss ) %>
Run Code Online (Sandbox Code Playgroud)
浏览器显示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
Run Code Online (Sandbox Code Playgroud)
/app/views/users/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
Run Code Online (Sandbox Code Playgroud)
该_controller部件不是必需的,rails会自动附加它:
<%= auto_discovery_link_tag( :rss, {:controller => "users", :action => "show"} ) %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
603 次 |
| 最近记录: |