【问题标题】:Rails 4: Use Operators within LoopsRails 4:在循环中使用运算符
【发布时间】:2017-01-26 10:04:24
【问题描述】:

我正在努力检查参数user_id。如何将其从 => 更改为类似于此运算符的内容:!=

幸运的是,我怎样才能对 <=>= 做同样的事情

- @jobsforyou.where(:is_finished => false, :is_active => true, :user_id => current_user, :sort <= 2).limit(10).each do |job|

代码示例出错。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 controller operators


    【解决方案1】:

    不是你可以直接这样做

    @jobsforyou.where.not(user_id: current_user)
    

    对于&lt;=&gt;=,您可以使用与此类似的内容

    @jobsforyou.where("sort < ?", 3)
    

    【讨论】:

      【解决方案2】:

      =&gt; 在您的示例中不等于或大于。它是哈希的语法。要编写更复杂的查询,您需要使用另一种语法 - 例如纯字符串语法:

      @jobsforyou.where(:is_finished => false, :is_active => true, :user_id => current_user
                 .where('sort <= 2')
                 .limit(10)
      

      在 Rails 指南中详细了解如何构建 queries in Ruby on Rails

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-04
        • 2017-08-21
        • 1970-01-01
        • 1970-01-01
        • 2015-08-22
        相关资源
        最近更新 更多