我想在我们的房屋列表页面添加过滤(复选框)。我想在ajax的情况下通过ajax做到这一点,但是对于seo目的而言,URL结构对于SEO友好也是重要的。
一个例子:
有想法,链接,帖子等设置吗?
答案 0 :(得分:0)
不幸的是,没有真正的方法可以做到这一点,即定义具有未定义数量的路径组件的路由。您可以选择最大数量,并定义一系列路线,例如
get '/houses/:f1' => 'houses#index'
get '/houses/:f1/:f2' =>'houses#index'
...
get '/houses/:f1/:f2/:f3/:f4/:f5/:f6' =>'houses#index'
但是这很快就会变丑,我建议你使用这样的URL方案:
get '/houses' => 'houses#index'
然后您的网址可能如下:
/houses?filter=goodschool,bbq,northeast
然后在索引操作中:
def index
if params[:filter]
filters = params[:filter].split(",")
filters.each do |f|
# do something with each term in the filter, I have no idea
end
@houses = House.where(.....???)
else
@houses = House.all
end
end
它不会产生您所追求的SEO友好URL,但我不确定这会如何影响您的情况下的SEO。