我正在尝试使用Rails Atom Feed Helper为嵌套资源生成提要。我的视图模板(index.atom.builder)是:
atom_feed(:schema_date => @favourites.first.created_at) do |feed|
feed.title("Favourites for #{@user.login}")
feed.updated(@favourites.first.created_at)
@favourites.each do |favourite|
feed.entry(favourite, :url => favourite.asset.external_ref) do |entry|
entry.title(favourite.asset.external_ref)
entry.content(image_tag(favourite.asset.location), :type => 'html')
entry.author do |author|
author.name(@user.login)
end
end
end
end
我有以下路线:
map.namespace :public do |pub|
pub.resources :users, :has_many => [ :favourites ]
pub.resources :favourites
pub.resources :assets, :only => [ :show ]
end
不幸的是,无法为 feed.entry 行生成 url:
feed.entry(favourite, :url => favourite.asset.external_ref) do |entry|
错误是“ActionView::Base 的未定义方法 `favourite_url'”。
我尝试将 feed.entry 行更改为:
feed.entry([:public, favourite], :url => favourite.asset.external_ref) do |entry|
但这会返回一个数组的条目而不是最喜欢的!有人在这里也有类似的问题。
我知道添加该行:
map.resource :favourites
我的 routes.rb 会“解决”这个问题,但这个资源只能嵌套在 /public 命名空间下。
以前有人遇到过这个问题吗?
干杯阿方