在搜索结果中显示标题而不是 id

Display title instead of id from search results

我已经在这个问题上花费了好几个小时,我迫切需要帮助。

下面的 html 显示了正确的汽车名称,car.manufacture_id 显示了正确的制造商 ID,除了我需要显示 manufacture.name 并且不知道该怎么做。如何显示汽车。manufacture.name?

search.html.erb

<% @cars.each do |car| %>
<%= car.manufacture_id %>
<%= link_to car.name, manufacture_path(car.manufacture_id) %>
<% end %>

search_controller.rb

  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.search params[:q]

找到制造商,这也可能有效
<%= @manufactures.find(car.manufacture_id).name %>

或者如果他们不是

<%= Manufacture.find(car.manufacture_id).name %>