【问题标题】:How to display next row in a set in Rails find如何在Rails中显示一组中的下一行
【发布时间】:2009-05-07 05:50:15
【问题描述】:

我想在我的页面上显示每隔 30 秒更改一次的“提示”。 rails 中“find”方法的结果不是按 ID 排序的。它将按另一列排序。

获取“下一个”值的最佳方法是什么。有没有办法获取结果集中的行数,然后通过下一行 id 查找?

谢谢,

【问题讨论】:

    标签: mysql ruby-on-rails ruby


    【解决方案1】:

    使用 find 和 :offset => N, :limit => 1 并简单地从 N 开始计数。

    【讨论】:

    • 谢谢...尽管其他解决方案有效,但我最喜欢这个解决方案,因为在这种情况下,我不必一次获取所有解决方案,因为会话中可能有很多。另外,我希望它们按特定顺序排列,而不是随机排列。
    【解决方案2】:

    您可以进行 ajax 调用并获得随机提示。类似的东西

    @tip = Tip.find(:first, :order => "RAND()")
    render :update do |page|
      page.replace_html :tip_container, :partial => "tip"
    end
    

    【讨论】:

      【解决方案3】:

      如果您已经将所有提示提取到一个数组中,您可以使用该数组索引、@results[1].tip、@results[2].tip 等逐步完成它。

      【讨论】:

        猜你喜欢
        • 2019-04-02
        • 1970-01-01
        • 2015-01-05
        • 1970-01-01
        • 2011-12-14
        • 1970-01-01
        • 1970-01-01
        • 2023-02-05
        • 1970-01-01
        相关资源
        最近更新 更多