Ruby on rails 如果某些属性与已显示的实例相同,则不显示对象的实例?
我根据表单发送的参数获取了一组属性,如下所示:Ruby on rails 如果某些属性与已显示的实例相同,则不显示对象的实例?,ruby-on-rails,ruby,postgresql,ruby-on-rails-4,rails-activerecord,Ruby On Rails,Ruby,Postgresql,Ruby On Rails 4,Rails Activerecord,我根据表单发送的参数获取了一组属性,如下所示: def index @properties = Property.all @properties = @properties.where("bedrooms = ?", params[:bedrooms]) if params[:bedrooms].present? @properties = @properties.text_search(params[:query]) if params[:query].present? @pr
def index
@properties = Property.all
@properties = @properties.where("bedrooms = ?", params[:bedrooms]) if params[:bedrooms].present?
@properties = @properties.text_search(params[:query]) if params[:query].present?
@properties = @properties.area_search(params[:area]) if params[:area].present?
@properties = @properties.where("month_available = ?", params[:availability]) if params[:availability].present?
@properties = @properties.where("vacancy_status = ?", params[:now]) if params[:now].present?
end
<% @properties.each do |property| %>
<%= property.street_address %>
<%= property.latitude %>
<%= property.longitude %>
<% end %>
当我通过@properties
实例变量在视图中列出属性并运行each循环时,如下所示:
def index
@properties = Property.all
@properties = @properties.where("bedrooms = ?", params[:bedrooms]) if params[:bedrooms].present?
@properties = @properties.text_search(params[:query]) if params[:query].present?
@properties = @properties.area_search(params[:area]) if params[:area].present?
@properties = @properties.where("month_available = ?", params[:availability]) if params[:availability].present?
@properties = @properties.where("vacancy_status = ?", params[:now]) if params[:now].present?
end
<% @properties.each do |property| %>
<%= property.street_address %>
<%= property.latitude %>
<%= property.longitude %>
<% end %>
如果property.latitude&&property.longitude
与已显示的另一个实例相同,我不想显示property
的某些实例。我该怎么做呢
我使用的是Postgres
,应用程序是rails4.0.1
您可以尝试以下内容:
<% @properties.uniq {|p| [p.latitude, p.longitude]}.each do |property| %>