Rails如何在参数中使用模型

时间:2019-02-20 11:44:41

标签: ruby-on-rails ruby postgresql model pg

我想使推荐的产品显示在显示页面上我的模型中有这个产品(我正在使用pg)

//Product model
def self.similar(product_name)
        where("name LIKE ?", "%#{product_name}%").limit(4)
      end 

我该如何在我的视图中使用它(如何传递参数)

1 个答案:

答案 0 :(得分:1)

所以我不确定您从哪里获得“ product_name”,但听起来您只需要在控制器的“ Show”方法中使用一个变量即可。

简单的方法是将类似以下内容的内容添加到Controllers的Show方法中;

def show
    @similar_products = Product.where("name LIKE ?", params[:product_name]).limit(4)
end

然后在显示页面中,将其添加到html.erb;

<div class='container'>
    <% @similar_products.each do |product| %>
        <%= product.name %>
        <%= product.price %>
    <% end %>
</div>