缺少必需的密钥:但不知道如何找到它
问题描述:
我刚刚安装了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 %>
任何帮助,您可以提供将不胜感激。
答
这里是解决方案:
控制器
@movie_genres = MovieGenre.search params[:q]
视图
<%= link_to movie_genre.title, movie_movie_genres_path(movie_genre.movie_id) %>
我们可以看到你的堆栈跟踪? – Geoffroy 2015-01-26 23:35:12
这里是堆栈跟踪:app/controllers/search_controller.rb:9:在'search' – user1477529 2015-01-27 00:26:50
这是一个单独的跟踪,它指向第9行,在你给我们的代码中它是空的。也许在你看来@电影是零? – Geoffroy 2015-01-27 00:27:53