1

GoogleのすべてのGoogleドキュメントを表示するAPIリクエストを持つコントローラがあります。Ruby On Rails表示するXML

フィード= client.get( 'http://docs.google.com/feeds/documents/private/full')だから、

feed.elements.each('entry') do |entry| 
     puts 'title: ' + entry.elements['title'].text 
     puts 'type: ' + entry.elements['category'].attribute('label').value 
     puts 'updated: ' + entry.elements['updated'].text 
     puts 'id: ' + entry.elements['id'].text 

     # Extract the href value from each <atom:link> 
     links = {} 
     entry.elements.each('link') do |link| 
     links[link.attribute('rel').value] = link.attribute('href').value 
     end 
     puts links.to_s 

エンド

を.to_xml、私が見ることができます結果は私のコンソールに表示されますが、どうやって私の見解に反映されますか?

%のfeed.elements.each(「エントリ」)

<(私はもちろんのアクセサにコントローラで私の変数を変更)します私はこのような何かをしようとしたが、それは動作しません。 |エントリー| %> <% entry.elements [ 'タイトル']。テキスト%> <% 終わり%>

答えて

0

問題を解決しました。私はコンソールにフィードの内容を表示するためにコントローラに「puts」を使用しているので、ビューのためにそれを変更する必要もあります。もちろん、putsは<%= ...%>と等しくなります。

<ul> 
    <% @feed.elements.each('entry') do |entry| %> 
     <li><%= 'title: ' + entry.elements['title'].text %></li> 
    <% end %> 
</ul> 
0

まず、あなたのコントローラで、飼料インスタンス変数を作ります。 IE:それはする必要があります:それはそれを修正しない場合

@feed = client.get.....代わりのfeed = client.get....

...私は確かにあなたのAPIを知らないが、私はあなたが使用する必要があるかもしれない疑いがある:

<% @feed.elements.each('entry') do |entry| %> <% entry['title'] %> <% end %>

注:entry['title']の代わりに、どのようなあなたの現在のコードが示すことは、フィードは、このように構成されていることであるentry.elements['title'].text

feed.elements[0].elements['attr'].text、それはおそらくちょうどfeed.elements[0]['attr']

んだとき意味をなさない?それを試して、何が起こるかを見てください。

それでも問題が解決しない場合は、debug(@feed)を表示して、質問の最後にコピーして貼り付けてください。これは、この情報にアクセスする正しい方法を理解するのに役立ちます。

+0

ご回答ありがとうございます。私はアクセサについての知識をあなたのヒントとRubyの構文で解決し、私の問題を解決しました(私の答えを見てください)。 –

+0

クールで、うれしいです。 – Andrew

関連する問題