Использование драгоценного камня imdb для показа и его функции плаката в файле erb с помощью sinatra и ruby

Я пытаюсь получить доступ к плакатам (из imdb gem) на сервере Ruby с помощью Sinatra, а затем отобразить их в моем представлении (файл erb). Он показывает ошибку (неопределенный метод для плаката), но не показывает ошибки, если я применяю код с .movies, как показано ниже. Ниже вызов imdb gem и мой код из erb. Надеюсь, кто-то может мне помочь, так как я новичок в использовании драгоценных камней. Спасибо.

# This is the file from my server.rb file in sinatra 
# The :search_term takes an input from a HTML form.
post "/calculate" do
  movie = params[:search_term]
  search1 = Imdb::Search.new(movie)
  @output = search1 
  @output.movies
  redirect "/movie_result"
end

#erb file content
'<%= @output %>'

person Daniel Hill    schedule 09.04.2016    source источник
comment
Можете ли вы опубликовать имя файла erb? Это может быть полезно при отладке этого   -  person Kashyap    schedule 11.04.2016
comment
Все, что у меня есть в файле erb, показано здесь, не уверен, что это правильно. Спасибо за ваш ответ.   -  person Daniel Hill    schedule 12.04.2016


Ответы (1)


Дело не в драгоценных камнях. Речь идет о запросе, цикле ответа. Позвольте мне показать вам вашу ошибку.

Когда клиент отправляет вам некоторые параметры с помощью метода post, ваш код выполняет обработку, а затем отвечает с перенаправлением. Нет локальных параметров для управления и отображения в файле представления.

Рендеринг файла представления с локальными параметрами отличается от перенаправления действия на новый маршрут.

рассмотрим пример.

routes.rb

get '/mocko' do
  @x = "Mocko"
  redirect '/locko'
end

get '/locko' do
  erb :locko, :layout => false
end

locko.erb

Is there x?<strong><%= @x.nil? ? "No" : "Yes" %></strong>

Вывод (когда я запрашиваю mocko, он немедленно перенаправляет меня locko)

введите здесь описание изображения

P.S. Дайте мне знать, если вы сможете решить дальше.

person Community    schedule 13.04.2016
comment
Спасибо за ответ, у меня все заработало, так как я удалил перенаправление в нижней части сообщения и заменил его на erb(:movie_result), что, похоже, сработало, а затем в моем размещении изображения я изменил его на ‹img src=‹%= @movie2 %› alt=Смайлик высота=140 ширина=142› что, казалось, помогло. Большое спасибо за помощь, очень признателен. :) - person Daniel Hill; 16.04.2016