Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向sql表添加新数据时的Ruby on rails if条件_Sql_Ruby On Rails_Boolean - Fatal编程技术网

向sql表添加新数据时的Ruby on rails if条件

向sql表添加新数据时的Ruby on rails if条件,sql,ruby-on-rails,boolean,Sql,Ruby On Rails,Boolean,我对ruby和RubyonRails还很陌生,我有一个小问题: 如果条目的值大于X,我想将一个布尔值设置为true,如果该值小于Y,则将另一个布尔值设置为true 我真的不知道该在哪里编写代码,或者最好的方法是什么 要清楚的是,我有一个表单(用脚手架制作),其中我询问一个值,根据这个值,2个布尔值中的一个可能被设置为true 谢谢你的帮助 你可以把它放在你的控制器上。我假设表单位于controller#create上,您可以在其中: boolean = true if @model.value

我对ruby和RubyonRails还很陌生,我有一个小问题: 如果条目的值大于X,我想将一个布尔值设置为true,如果该值小于Y,则将另一个布尔值设置为true

我真的不知道该在哪里编写代码,或者最好的方法是什么

要清楚的是,我有一个表单(用脚手架制作),其中我询问一个值,根据这个值,2个布尔值中的一个可能被设置为true


谢谢你的帮助

你可以把它放在你的控制器上。我假设表单位于
controller#create
上,您可以在其中:

boolean = true if @model.value > x
boolean2 = true if @model.value < y
boolean=true如果@model.value>x
boolean2=如果@model.value

然后使用
@model将其保存在db上。save

假设这些布尔值是您启用的
值的同一个模型的属性,您似乎可以在
保存之前在
回调中执行此操作:

class SomeModel < ActiveRecord::Base

  # Your X & Y with some example values
  X_VALUE = 5
  Y_VALUE = 10

  before_save do
    self.boolean1 = self.value > X_VALUE
    self.boolean2 = self.value < Y_VALUE
    true # callback needs to return true, otherwise save will fail
  end
end
class-SomeModelX_值
self.boolean2=self.value
使用上述实现,即使您更新了该值,正确的布尔值也将更改。我希望这有帮助,因为这是基于一些假设。如果不让我知道,我们会想办法的