返回查询以在侧边栏上显示广告



我正在使用三个表Salon TreatmentServiceServiceSalon所有。 ServiceTreatment有直接的关系,因为每个Service都有Treatment,但不是每个Treatment都有Service。治疗保持可变Category

我正在尝试在与他们正在查看的Treatment相关的所有服务的treatments/show的侧边栏上显示结果。

在我的application helper中,我有以下查询

def salonAds

@ads = Services.includes(:treatment).where('treatment.category = ?',  Service[:treatment_id])
end

但我知道这是错误的。

我是他们试图在我的treatments/show中打电话给do

<% @ads.each do |ads| %>
<td><%= ads.description %></td>
    <td><%= ads.price %></td>
   <% end %>

如何实现这一目标的任何解决方案或替代方案将不胜感激

更新

您可以为services_treatments创建一个联接表,然后将ServiceTreatment之间的关系更改为has_and_belongs_to_many

然后,当您要为治疗分配服务时,请将其添加到Treatment model上的service_ids列中。

然后,当您想要治疗的所有服务时,您会做:

Treatment.find(params[:id]).services

最新更新