Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.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
JavaScript(Ruby on Rails)中奇怪的布尔计算_Javascript_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

JavaScript(Ruby on Rails)中奇怪的布尔计算

JavaScript(Ruby on Rails)中奇怪的布尔计算,javascript,ruby-on-rails,ruby-on-rails-3,Javascript,Ruby On Rails,Ruby On Rails 3,我在一些JavaScript代码中遇到了一个奇怪的问题,这是我的RoR项目的一部分。代码如下: alert(<%= params[:browse_view]%>) <% if params[:browse_view] == true %> alert('Changing to browse view...') changeToBrowseView(); <% else %> alert('Changing to list view...')

我在一些JavaScript代码中遇到了一个奇怪的问题,这是我的RoR项目的一部分。代码如下:

alert(<%= params[:browse_view]%>)

<% if params[:browse_view] == true %>
  alert('Changing to browse view...')
  changeToBrowseView();
<% else %>
  alert('Changing to list view...')
  changeToListView();
<% end %>
alert()
警报('更改为浏览视图…')
更改为rowseview();
警报('更改为列表视图…')
changeToListView();

发生的情况是,顶部的警报将显示false,但if语句的顶部将运行。这将是一个非常愚蠢的问题,但我不知道发生了什么…

你确定
参数[:browse_view]
是一个
布尔值而不是一个字符串吗

我想看看将字符串值解析为相应布尔值的行之有效的方法:


您确定
参数[:browse\u view]
布尔值而不是字符串吗

我想看看将字符串值解析为相应布尔值的行之有效的方法:


显示生成的JS。为什么不仅仅是
?是的——这就是我最初的想法。。。但我试图解决这个问题…向我们展示生成的JS。为什么不仅仅是
?是的——这就是我最初的想法。。。但我试图解决这个问题……我的想法也是——据我所知,默认情况下参数完全是字符串。呃——是的,我想这就是我要找的。那么正确的方法是什么呢?您是否强制转换了所有参数?@aardvarkk-使用将字符串解析为布尔值的方法更新了答案。好的——那么所有参数都是字符串吗?在控制器代码中放入类似于
params[:browse_view]| |=true的内容是否不好?是的,它们是。客户端和服务器之间的所有通信基本上都是以字符串形式完成的,由您来转换它们。这在Rails中可能有点微妙,因为mass赋值将自动从字符串转换为数字等,但如果直接使用参数,它们将是字符串。我的想法也是——默认情况下,参数完全是字符串,正如我所理解的。呃——是的,我想这就是我要寻找的。那么正确的方法是什么呢?您是否强制转换了所有参数?@aardvarkk-使用将字符串解析为布尔值的方法更新了答案。好的——那么所有参数都是字符串吗?在控制器代码中放入类似于
params[:browse_view]| |=true的内容是否不好?是的,它们是。客户端和服务器之间的所有通信基本上都是以字符串形式完成的,由您来转换它们。这在Rails中可能有点微妙,因为质量赋值将自动从字符串转换为数字等,但是如果直接使用参数,它们将是字符串。