Model view controller 要查看的RubyonRailsXML
我有一个带有API请求的控制器,显示我所有的Google文档 feed=client.get'http://docs.google.com/feeds/documents/private/full“.到"xml"Model view controller 要查看的RubyonRailsXML,model-view-controller,ruby-on-rails-3,google-api,google-docs-api,Model View Controller,Ruby On Rails 3,Google Api,Google Docs Api,我有一个带有API请求的控制器,显示我所有的Google文档 feed=client.get'http://docs.google.com/feeds/documents/private/full“.到"xml" feed.elements.each('entry') do |entry| puts 'title: ' + entry.elements['title'].text puts 'type: ' + entry.elements['category']
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
结束
因此,我可以在我的控制台中看到结果,但如何将它们放入我的视图中
我尝试过这样的方法,但没有成功,我将控制器中的变量更改为访问器
首先,在控制器中,使feed成为实例变量。IE:应该是: @feed=client.get。。。。。而不是feed=client.get 如果这不能解决问题。。。我不确定您的API,但我怀疑您可能需要使用: 注意:条目['title']而不是条目。元素['title']。文本 您当前的代码表明,提要的结构如下: feed.elements[0].elements['attr'].text,可能只是feed.elements[0]['attr'] 这有意义吗?试试看会发生什么
如果这不起作用,就放:debug@feed在您的视图中,复制并粘贴到问题的末尾。这将帮助我们找到访问此信息的正确方法。问题已解决。因为我在控制器中使用“put”在控制台中显示提要的内容,所以我还必须更改视图的内容。当然,看跌期权等于
谢谢你的回答。通过你的提示,我对访问器和Ruby语法有了更多的了解,并解决了我的问题。看看我的答案。
<ul>
<% @feed.elements.each('entry') do |entry| %>
<li><%= 'title: ' + entry.elements['title'].text %></li>
<% end %>
</ul>