Ruby on rails 字符串赢了';我没有出现
我得到一个布尔值作为参数,并将其分配给一个变量Ruby on rails 字符串赢了';我没有出现,ruby-on-rails,ruby,string,methods,parameters,Ruby On Rails,Ruby,String,Methods,Parameters,我得到一个布尔值作为参数,并将其分配给一个变量 @package = params[:package] 现在,我有一个方法,它应该根据package的值返回一个字符串。方法如下所示: def get_description(package) if package == 1 "foo" elsif package == 2 "bar" end end 在另一种方法中,我尝试通过以下方式获取@description: @description
@package = params[:package]
现在,我有一个方法,它应该根据package
的值返回一个字符串。方法如下所示:
def get_description(package)
if package == 1
"foo"
elsif package == 2
"bar"
end
end
在另一种方法中,我尝试通过以下方式获取@description
:
@description = get_description(@package)
问题是,字符串不显示。
@description
变量保持为空。也许我太蠢了,看不到这个bug?如果您愿意,您可以使用您的代码将package的值更改为整数:
def get_description(package)
package = package.to_i
if package == 1
"foo"
elsif package == 2
"bar"
end
end
或使用案例陈述:
def get_description(package)
case package.to_i
when 1
"foo"
when 2
"bar"
end
end
如果需要,可以使用代码将包的值更改为整数:
def get_description(package)
package = package.to_i
if package == 1
"foo"
elsif package == 2
"bar"
end
end
或使用案例陈述:
def get_description(package)
case package.to_i
when 1
"foo"
when 2
"bar"
end
end
所有参数都以字符串形式到达控制器,而不管您认为它们应该是什么类型。如果该参数最初是由使用整数的视图写入浏览器的,则情况也是如此。这只是因为浏览器将数据发送回服务器的方式
您需要将参数转换为整数,或者将其与字符串
“1”
和“2”
进行比较。所有参数都以字符串的形式到达控制器,而不管您认为它们应该是什么类型。如果该参数最初是由使用整数的视图写入浏览器的,则情况也是如此。这只是因为浏览器将数据发送回服务器的方式
您需要将参数转换为整数,或者将其与代码中的字符串
“1”
和“2”进行比较,我假设您指的是二值(即“1”或“2”),不是真/假意义上的布尔值?我假设您指的是二值(即“1”或“2”),不是真/假意义上的布尔值?