如果为真,则计算分数

古尔穆克·辛格(Gurmukh Singh)|

我有一个应用程序,可以从用户那里获取一些数据,一切正常。我正在尝试在模型中建立一个分数,如果存在一些数据,该分数会上升,而我正在尝试这样的事情:

def score
 score = 0
 if self.moving = true 
  score += 5
 end
end

这是我的表格,“移动”列为布尔值:

<div class="field">
  <%= f.select :moving, [['Yes', true], ['No',false]], {}, :class => 'form-control' %>
</div>

发生的是,当我尝试此操作时,如果为“是”,则将分数加5,但是如果我将其更改为“假”,我希望该分数回到已建立的原始分数。

分数也应该存储在数据库中已创建的列中,我尝试使用self.score它,但似乎不起作用?

我在这里先向您的帮助表示感谢。

帕斯卡

您正在分配(单等号)

if moving = true
  puts "moving"
end

这将始终执行if块,因为赋值的返回值为true)

相反,您应该比较(双等于号)

if moving == true
  puts "moving"
end

但这仍然有些复杂,因为您首先将一个布尔值与另一个布尔值进行比较,然后将该比较结果传递给if子句。看起来有点像这样:

result = moving == true
if result
  puts "moving"
end

相反,您可以只写:

if moving
  puts "moving"
end

您甚至可以使用if as语句修饰符:

puts "moving" if moving

返回布尔值的方法通常会附加一个“?” 指示此行为:

def moving?
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果(a = 1)为真

来自分类Dev

如果为真,则反转布尔

来自分类Dev

如果为真:销毁类

来自分类Dev

如果语句始终为真

来自分类Dev

如果返回始终为真

来自分类Dev

如果假阳性和真阴性的总和为零,如何计算假阳性率(FPR)?

来自分类Dev

如果为真,则计算行数,然后检查它是否包含一行

来自分类Dev

PHP对数组的“如果为真”测试始终返回“真”?

来自分类Dev

如果语句为真,但未执行

来自分类Dev

如果条件为真,则选择数据

来自分类Dev

如果语句与枚举相比始终为真

来自分类Dev

如果条件为真,则排除文件

来自分类Dev

如果条件为真,则Cobol不进入

来自分类Dev

如果为真,则返回组合列表

来自分类Dev

如果条件为真,则动态添加图标

来自分类Dev

如果条件为真,则停止功能

来自分类Dev

如果陈述为真,则得到1

来自分类Dev

如果条件总是评估为真

来自分类Dev

如果条件为真,则隐藏元素

来自分类Dev

如果为真,如何关闭mysql连接?

来自分类Dev

如果陈述为真,请提交表格

来自分类Dev

如果条件为真,则添加搜索参数

来自分类Dev

Rails 验证字段为真(如果存在)

来自分类Dev

如果条件为真,则 SQL 过滤行

来自分类Dev

如果陈述为真或不为假

来自分类Dev

如果条件被跳过,即使条件为真

来自分类Dev

如果模板为真,如何使模板函数为const

来自分类Dev

如果模板为真,如何使模板函数为const

来自分类Dev

如果条件为真,则将 wordpress 帖子更新为草稿