Борьба с Rails Wikiquote Gem?

Я пишу свой первый сайт рельсов и столкнулся с проблемой. Я хочу показать "цитату дня" на странице приветствия, используя драгоценный камень "wikiquote" ( http://hemanth.github.io/wikiquote-gem/). Я поместил это в код ниже и думал, что это будет работать, но ошибся. Браузер не сообщает об ошибках, но ничего не отображается. Какие-нибудь мысли? Я делаю это совершенно неправильно?

в welcome_controller.rb

class WelcomeController < ApplicationController

  def index
  end    

  def get_qod
    @qod = WikiQuote.get
  end
end

в welcome/index.html.erb

<h3> <%= @qod.to_s %></h3>

1 ответ

Решение

Да. Ты делаешь это неправильно.

если вы хотите, чтобы @qod был доступен для индекса, вам нужно запустить его внутри индекса.

class WelcomeController < ApplicationController

  def index
    @qod = WikiQuote.get
  end    

end

В качестве альтернативы вы можете использовать этот метод на стороне:

class WelcomeController < ApplicationController

  before_action :get_quote, only: [:index]

  def index       
  end

  private 
    def get_quote
      @qod = WikiQuote.get
    end

end
Другие вопросы по тегам