嵌套路由/ ActiveResource有效响应转换为nil

时间:2013-06-26 13:08:28

标签: ruby-on-rails ruby activeresource

我在RoR 3.2中使用ActiveResource从Shopify API获取JSON响应,如下所示:

def show
    @article = Article.find(params[:id],:params => {:blog_id => params[:blog_id]})

    logger.debug @article

    respond_to do |format|
      format.html # show.html.erb
      format.json { render @article }
    end
end

正在使用的ActiveResource采用前缀'blog_id',而'id'是文章ID(因为文章ID是唯一的,但仍然是疯狂的。)

当我使用记录器将@article打印到控制台时,我看到:

#<Article:0x465b520 @attributes={"author"=>" Shopify API", "body_html"=>"Test",
 "created_at"=>"2013-06-26T06:41:12-04:00", "id"=>8204945, "published_at"=>"2013
-06-26T06:41:12-04:00", "summary_html"=>nil, "template_suffix"=>nil, "title"=>"t
est", "updated_at"=>"2013-06-26T06:41:12-04:00", "user_id"=>nil, "tags"=>""}, @
prefix_options={:blog_id=>"2812103"}, @persisted=true>

万岁!但是,当'show.html.erb'尝试渲染@article时,我什么也得不到。如果我渲染'@ article.inspect',我会得到'nil'

用于“访问”的链接是:

<%= link_to 'Show', blog_article_path(@blog.id, article.id) %>

我正在使用与其他对象完全相同的技术(Blog是一个),唯一的区别是Article是嵌套资源(在'Blog'下)。我的路线是:

resources :blogs do
    resources :articles do
        resources :metafields
    end
end

我正在试图弄清楚两者之间的不同之处,但无济于事。有什么想法吗?

修改:与Active Resource return nil object类似,但未给出答案:(

0 个答案:

没有答案