Ruby on rails 条件语句

Ruby on rails 条件语句,ruby-on-rails,ruby,Ruby On Rails,Ruby,我想通过模型中的方法进行定制搜索。其中一个搜索条件如下所示: left = params[:left][:left_id] right = params[:right][:right_id] status = give_status(left, right) where << "status_id_number = #{status}" 我想有它的设置如下。比较左右变量,然后根据条件指定特定的返回值。下面的代码将返回2,即使我将l

我想通过模型中的方法进行定制搜索。其中一个搜索条件如下所示:

      left = params[:left][:left_id]
      right = params[:right][:right_id]

      status = give_status(left, right)

      where << "status_id_number = #{status}"
我想有它的设置如下。比较左右变量,然后根据条件指定特定的返回值。下面的代码将返回2,即使我将left和right设置为1

       def self.give_status(left, right)
         if left == 1 and right == 1
          return 1
         else 
          return 2
        end
       end

问题是
param
将返回字符串

def self.give_status(left, right)
  if left.to_i == 1 and right.to_i == 1
    1
  else 
    2
  end
end
缩略形式

def self.give_status(left, right)
  left.to_i == 1 && right.to_i == 1 ? 1 : 2
end
或者一开始就做对了:

left = params[:left][:left_id].to_i
right = params[:right][:right_id].to_i
status = give_status(left, right)
where << "status_id_number = #{status}"

def self.give_status(left, right)
  left == 1 && right == 1 ? 1 : 2
end
left=params[:left][:left\u id]。到
右=参数[:右][:右\u id]。到\u i
状态=给出状态(左、右)

其中问题是
param
将返回字符串

def self.give_status(left, right)
  if left.to_i == 1 and right.to_i == 1
    1
  else 
    2
  end
end
缩略形式

def self.give_status(left, right)
  left.to_i == 1 && right.to_i == 1 ? 1 : 2
end
或者一开始就做对了:

left = params[:left][:left_id].to_i
right = params[:right][:right_id].to_i
status = give_status(left, right)
where << "status_id_number = #{status}"

def self.give_status(left, right)
  left == 1 && right == 1 ? 1 : 2
end
left=params[:left][:left\u id]。到
右=参数[:右][:右\u id]。到\u i
状态=给出状态(左、右)
哪里