单击Rails中的图像时搜索

时间:2017-02-14 10:20:39

标签: ruby-on-rails

我有一个网站,用户可以根据国家/地区,价格,季节和组织者搜索体育营地的目录。看起来像这样:

Search

当用户点击搜索时,我会得到'搜索页面并在URL中添加参数,然后呈现与搜索参数匹配的运动营地列表。这完美无瑕。 URL看起来像这样: "localhost:3000/camps?utf8=✓&country=Spain&organiser=Brett&season=Summer&price=5000&commit=Search"

在页面下方,我有一个包含大多数热门国家/地区的图片列表,例如"西班牙&#34 ;.我的问题是:

如何添加图像链接,然后搜索所有带有country = Spain的阵营?

型号:

class Camp < ApplicationRecord
  def self.search(country, price, organiser, season)
    where("country LIKE ? AND price < ? AND organiser LIKE ? AND season LIKE ?", country, price, organiser, season)
  end
end

控制器:

def search
  country = params[:country]
  price = params[:price]
  organiser = params[:organiser]
  season = params[:season]

  if country.blank?
    country = '%'
  end

  if season.blank?
    season = '%'
  end

  if organiser.blank?
    organiser = '%'
  end

  @camps = Camp.search(country, price, organiser, season)
end

HTML:

<div class="col-md-4">
  <%= link_to image_tag("cardheader.png") %>
</div>

1 个答案:

答案 0 :(得分:1)

您可以像这样使用link_to

<%= link_to your_method_path(:country => "spain") do %>
  <%= image_tag('spain.png') %>
<% end %>

您可以使用动态图片和国家/地区名称传递给方法

以下是您的方法(取自以下评论之一):

def search
  country = params[:country].present? ? params[:country] : '%'
  price = params[:price].present? ? params[:price] : '%'
  organiser = params[:organiser].present? ? params[:organiser] : '%'
  season = params[:season].present? ? params[:season] : '%'

  @camps = Camp.search(country, price, organiser, season)
end

Here is the reference to it