【发布时间】:2017-05-21 10:57:15
【问题描述】:
我目前正在使用地理编码器来过滤图像,最重要的是,我想添加一个类别过滤器(不是下拉选择类型,但每个类别都会像按钮一样显示,当我点击它时,它的 category_id 会被选中)。
所以想象一个列出我所有类别的侧边栏和一个位置搜索输入框。
这是我目前所拥有的。
#index.html.erb
<%= form_tag images_path, :method => :get do %>
<p> Location<br>
<%= text_field_tag :search, params[:search] %>
<% submit_tag "Search", :name => nil %>
</p>
<% end %>
<% @categories.each do |cat| %>
<%= link_to cat.name %> #then i don't know what to do to get the cat.id link back to the controller
<% end %>
<% @images.each do |image| %>
<%= image_tag image.picture.url %>
<% end %>
I have the location filter form and below that, it lists out the appropriate images.
# imagescontroller
def index
#@categories = Category.all
if params[:search].present?
@users = User.near(params[:search], 50, :select => "users.*, images.*").joins(:images)
@images = Image.joins(:categories).where(categories: { id: 3 }).joins(:users).merge(@users).distinct
else
@images = Image.joins(:categories).where(categories: { id: 3 })
end
end
正如您在上面的代码中看到的,我将类别硬编码为第三类,但是当我输入位置时代码确实运行成功。
背景故事:
- 每个图像可以有多个用户,每个用户可以有多个图像。
- 每个用户都有一个地址,我使用地理编码器查找具有某个位置附近的用户的图像。
- 每个图像有很多类别,每个类别都有很多图像。
- 只有五个类别
现在的问题是:如何制作类别表单以便用户可以选择类别,而不是我对其进行硬编码。我希望在不刷新页面的情况下加载页面。而且我对 jQuery 和 Ajax 知之甚少,但我愿意更多地研究它,我确实需要一些方向。
感谢任何解决方案、建议或指导 :)
【问题讨论】:
标签: jquery ruby-on-rails ruby rubygems