ネストされたリソースのフィードを生成するのにRails Atom Feed Helperを使用しようとしています。アトムフィードヘルパーを使用したネストされたリソース
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
そして私は、次のルートを持っている:私のビューテンプレート(index.atom.builder)がある
:map.namespace :public do |pub|
pub.resources :users, :has_many => [ :favourites ]
pub.resources :favourites
pub.resources :assets, :only => [ :show ]
end
は、残念ながら、urlはfeed.entryラインのために生成するのに失敗しています
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|
しかし、これは配列ではなく、好きなのエントリを返します!誰かが同様の問題を抱えていたhere also。
私は、行を追加することを知っている:私のroutes.rbをし
map.resource :favourites
すると、この問題を「解決」だろうが、このリソースは、/公共の名前空間の下にネストされてのみ使用可能です。
誰もこの問題を以前に持っていましたか?
、favorite.id = 9
とあれば
public_user_favourite_url(:id => favourite, :user_id => @user)
:あなたはそのエントリのURLを信じるために私を残したエントリのタイトルとしてfavourite.asset.external_ref
を使用している Arfon
ありがとうございました!私はどのように私はそのオプションを逃したか分からない:-) – arfon