1

我正在尝试创建一个搜索栏,当有人搜索时,它将在同一页面上显示所有结果。我被卡住了,因为当数据本身没有存储在模型中时,我不知道该怎么做。我正在使用BadFruit rails gem来查询烂番茄电影列表。

def search(movie_title)
   bf = BadFruit.new("YOUR_API_KEY_HERE")
   bf.movies.search_by_name(movie_title)
 end

#search 方法返回一个索引为 0 的搜索结果数组。我希望搜索结果显示在与搜索栏相同的视图中。任何帮助将不胜感激!

4

1 回答 1

1

数据来自您自己的数据库还是来自外部 API 应该没有区别。控制器根本不应该关心。它只是使用任何搜索参数获取数据,并以前端可以使用的形式呈现数据。这就是 MVC 设计的全部意义所在,将这些层分开。

听起来您想将搜索转换为 AJAX 请求。页面上的 javascript 将调用搜索请求,并从控制器的搜索方法中取回一段 HTML 或一段 JSON。然后,它将使用 HTML 片段替换页面的一部分,或者使用 JSON 块中的数据更新页面。

使用类似KnockoutJS的东西可以使使用 JSON 响应更新页面变得更加简单和直接。

于 2013-02-26T18:50:16.633 回答