Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用imdb gem在带有sinatra和ruby的erb文件中显示及其海报功能_Ruby_Sinatra_Imdb - Fatal编程技术网

使用imdb gem在带有sinatra和ruby的erb文件中显示及其海报功能

使用imdb gem在带有sinatra和ruby的erb文件中显示及其海报功能,ruby,sinatra,imdb,Ruby,Sinatra,Imdb,我正在尝试使用sinatra访问Ruby服务器中的海报(来自imdb gem),然后在我的视图(erb文件)中显示它们。它显示一个错误(海报的未定义方法),但如果我使用.movies应用代码,则不会显示错误,如下所示。下面是imdb gem的调用和erb的代码。希望有人能帮助我,因为我是新手使用宝石。谢谢 # This is the file from my server.rb file in sinatra # The :search_term takes an input from a H

我正在尝试使用sinatra访问Ruby服务器中的海报(来自imdb gem),然后在我的视图(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 %>'
#这是sinatra中my server.rb文件中的文件
#:search_术语从HTML表单中获取输入。
post“/计算”do
movie=params[:搜索词]
search1=Imdb::Search.new(电影)
@输出=搜索1
@输出.电影
重定向“/movie\u结果”
结束
#erb文件内容
''

这与宝石无关。这是关于请求、响应周期的。让我告诉你你的错误

当客户端使用post方法向您发送一些参数时,您的代码进行处理,然后使用重定向进行响应。不使用任何本地参数在视图文件内进行操作和显示

使用本地参数呈现视图文件与将操作重定向到新路由不同

举个例子

routes.rb

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

get '/locko' do
  erb :locko, :layout => false
end
Is there x?<strong><%= @x.nil? ? "No" : "Yes" %></strong>
locko.erb

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

get '/locko' do
  erb :locko, :layout => false
end
Is there x?<strong><%= @x.nil? ? "No" : "Yes" %></strong>
有x吗?
输出(当我请求
mocko
时,它立即重定向我
locko


顺便说一句,如果你能从那里开始解决问题,请告诉我。

这与宝石无关。这是关于请求、响应周期的。让我告诉你你的错误

当客户端使用post方法向您发送一些参数时,您的代码进行处理,然后使用重定向进行响应。不使用任何本地参数在视图文件内进行操作和显示

使用本地参数呈现视图文件与将操作重定向到新路由不同

举个例子

routes.rb

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

get '/locko' do
  erb :locko, :layout => false
end
Is there x?<strong><%= @x.nil? ? "No" : "Yes" %></strong>
locko.erb

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

get '/locko' do
  erb :locko, :layout => false
end
Is there x?<strong><%= @x.nil? ? "No" : "Yes" %></strong>
有x吗?
输出(当我请求
mocko
时,它立即重定向我
locko


另外,请告诉我您是否能够从那里开始解决问题。

您可以发布
erb
文件名吗?它可以帮助调试这一切我在erb文件显示在这里,不知道它是否正确。谢谢您的回复。您能发布
erb
文件名吗?它可以帮助调试这一切我在erb文件显示在这里,不知道它是否正确。感谢您的回复。感谢您的回复,我删除了帖子底部的重定向,并将其替换为erb(:movie_result),这似乎有效,然后在我的图像放置中,我将其更改为“alt=”Smiley face“height=”140“width=”142“>这似乎起到了作用。非常感谢您的帮助,非常感谢。:)感谢回复,我删除了帖子底部的重定向,将其替换为erb(:movie_result),这似乎很有效,然后在我的图像放置中,我将其更改为“alt=”Smiley face“height=”140“width=”142“>似乎很有效。非常感谢您的帮助,非常感谢。:)