3

我对红宝石和棱镜很陌生。我正在尝试将我的 ruby​​ on rails 项目的控制器连接到 prismic api。

他们的教程显示以下代码:

api = Prismic.api('https://your-repo-name.prismic.io/api')
doc = api.query(Prismic::Predicates.at("document.type", "page"))
content = doc.results

我正确安装了 prismic gem 并正确输入了我的 repo 名称。当我运行我的代码时,我收到以下错误:

NoMethodError in PageController#page
undefined method `[]' for nil:NilClass

为线

doc = api.query(Prismic::Predicates.at("document.type", "page"))

我检查了 api 变量值,并<Prismic::API:0x007fbcaaab6418>在我的 api 变量中得到了 #,所以我想它工作正常。我试图改变谓词,但它并没有改变任何东西。

如果您知道解决此问题的方法,我将不胜感激。谢谢。

编辑:发生错误的我的控制器页面:

Class PageController < ApplicationController
  def page

    api = Prismic.api('https://xxx.prismic.io/api')
    puts 'api ='
    puts api
    puts '==was api'
    doc = api.query(Prismic::Predicates.at("document.tags", ["conseil"]))
    content = doc.results

    puts 'content'
    @test1 = 'test'#content[0]['id']

  end
end
4

0 回答 0