2015-01-26 192 views
-1

我刚刚安装了elasticsearch,并且所有内容都正确显示。但为了让我的搜索结果成为一个链接,我需要通过SearchController传递一个movie_id(该错误消息缺少必需的键:[:movie_id])我尝试过很多不同的事情,但没有运气。缺少必需的密钥:但不知道如何找到它

search_controller.rb

class SearchController < ApplicationController 
    def search 
    if params[:q].nil? 
    @movie_genres = [] 
    else 
    @movie_genres = MovieGenre.where(movie_id: @movie).search params[:q] 
    end 
end 

end 

search.html.erb

<% @movie_genres.each do |movie_genre| %> 
<%= link_to movie_genre.title, movie_movie_genres_path(@movie) %> 
    <% end %> 

任何帮助,您可以提供将不胜感激。

+0

我们可以看到你的堆栈跟踪? – Geoffroy 2015-01-26 23:35:12

+0

这里是堆栈跟踪:app/controllers/search_controller.rb:9:在'search' – user1477529 2015-01-27 00:26:50

+0

这是一个单独的跟踪,它指向第9行,在你给我们的代码中它是空的。也许在你看来@电影是零? – Geoffroy 2015-01-27 00:27:53

回答

0

这里是解决方案:

控制器

@movie_genres = MovieGenre.search params[:q] 

视图

<%= link_to movie_genre.title, movie_movie_genres_path(movie_genre.movie_id) %> 
相关问题