Ruby on rails 显示搜索结果中的标题而不是id
我在这个问题上花了好几个小时,我迫切需要帮助 下面的html显示正确的汽车名称,car.manufacture\u id显示正确的制造商id,但我需要显示manufacture.name,并且不知道如何执行此操作。如何显示car.manufacture.name search.html.erbRuby on rails 显示搜索结果中的标题而不是id,ruby-on-rails,elasticsearch,Ruby On Rails,elasticsearch,我在这个问题上花了好几个小时,我迫切需要帮助 下面的html显示正确的汽车名称,car.manufacture\u id显示正确的制造商id,但我需要显示manufacture.name,并且不知道如何执行此操作。如何显示car.manufacture.name search.html.erb <% @cars.each do |car| %> <%= car.manufacture_id %> <%= link_to car.name, manufacture_p
<% @cars.each do |car| %>
<%= car.manufacture_id %>
<%= link_to car.name, manufacture_path(car.manufacture_id) %>
<% end %>
def search
if params[:q].nil?
@cars = []
@manufactures = []
else
@cars = Car.search params[:q]
@manufactures = Manufacture.search params[:q]
end
end
你的汽车和制造模型是什么样子的,你能展示它们的代码吗?模式也会有所帮助。如果您的车型设置正确
car.manufacture.name
应该可以使用
如果你这样做
<% @manufactures.each do |manufacture| %>
<%= manufacture.id %>
<%= manufacture.name %>
<% end %>
或者如果他们不是
<%= Manufacture.find(car.manufacture_id).name %>
您可能需要提供更多关于汽车和制造商之间关系的详细信息。汽车实际上是基本的汽车所属:制造和制造商有许多:汽车。我唯一想到的是,搜索功能中可能没有加载制造商(@cars=Car.search params[:q])car.manufacture.id
是否给出了与car.manufacture\u id
相同的结果?car.manufacture.id给出了一个未定义的“id”方法。我还想指出,我远非rails方面的专家。所以这可能是我所缺少的一些非常简单的概念。使用它可以完美地工作。谢谢你,克拉克,你是个救生员。
<%= Manufacture.find(car.manufacture_id).name %>