Rails 3.2.13
红宝石1.9
嗨,我正在添加下一个和上一个网址,以获得最佳的搜索引擎优化结果。
但我意识到我的服务器日志中有两个页面请求(当前页面和下一个页面)。
这是我的控制器:

@recipes = Recipe.includes(:chef, :category).order("created_at desc").page(params[:page]).per(9)

if @recipes.present? == true
   if @recipes.first_page? && @recipes.num_pages > 1
      ...
      @next_url = url_for(:page => (@recipes.current_page + 1))
      ...
   end
   ...
end

但是当调用@next_url时,请求整个页面。我只想把1和当前的url字符串相加。
我怎么解决这个问题?
更新:
问题是Mac上的Firefox(21.0)。在其他浏览器中不会发生此请求。这是一个浏览器坏运行!很不幸,我修不好!

最佳答案

首先,我要指出

if @recipes.present? == true

因为@recipes.present不是一个好的编码实践吗?会返回真或假
你想用这段代码实现什么?
  if @recipes.first_page? && @recipes.num_pages > 1
      ...
      @next_url = url_for(:page => (@recipes.current_page + 1))
      ...
   end

因此,如果是第一页,页码大于1,则会有@next_url?
应该是还是,是吗?你能解释一下你想做什么吗?

关于ruby-on-rails - 关于“下一个网址”的双重请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16659246/

10-14 03:26