我通常不在ColdFusion中工作,但是有一个FTP进程正在工作我必须创建一个报告,目前唯一的选择是ColdFusion 8服务器.这个FTP提要有一些问题(垃圾也).
所以,我进行查询然后我需要在输出期间转换一些字符串值来做一些数学运算.在那之前:
如何判断输出循环中的字段是否为空或空,是否可以转换为有效数字的字符串,且不是0?
有没有一个简单的方法来做这个与很多if语句?
谢谢!
在Prototype中,是否有AJAX启动/停止事件,允许您创建一个脚本,以便在AJAX加载期间全局显示模态等待消息?
就像,使用jQuery我在应用程序布局中使用这个脚本来全局显示任何jQuery AJAX事件的模态等待对话框:
<script type="text/javascript">
$(document).ajaxStart(function () {
$.blockUI({ message: '<h1><img src="../images/busy.gif" /> Just a moment...</h1>' });
});
$(document).ajaxStop(function () {
$.unblockUI();
});
</script>
Run Code Online (Sandbox Code Playgroud)
谢谢 - 非常感谢?
我正在手动构建一个SQL查询,我在params哈希中使用一个数组,用于SQL IN语句,如:("WHERE my_field IN('blue','green','red')").所以我需要获取数组的内容并将它们输出到一个字符串中,其中每个元素都是单引号和逗号分隔(并且没有结尾的逗号).
所以如果数组是: my_array = ['blue','green','red']
我需要一个看起来像这样的字符串: "'blue','green','red'"
我是Ruby/Rails的新手,但想出了一些有用的东西:
if !params[:colors].nil?
@categories_array = params[:colors][:categories]
@categories_string =""
for x in @categories_array
@categories_string += "'" + x + "',"
end
@categories_string.chop! #remove the last comma
end
Run Code Online (Sandbox Code Playgroud)
所以,我很好但很好奇这样做的正确和更简洁的方式是什么样的?
在 IE 中,BlockUI unblockUI 不会将等待光标更改回默认值。光标在解除阻塞后移动一个像素的瞬间变回默认值(就好像光标图形已更改但光标在移动一个像素之前不会刷新):
This 2009 thread has a fix,但我不够聪明,无法弄清楚如何将其修改/应用到最新的 01-2011 版本的 BlockUI。是否知道如何修改最新版本的插件或针对此 IE 问题的其他好的解决方法?我还没有找到工作
修复(不适用于 01-2011 版本 - 此区域的代码已修改)
Add
els[1].style.cursor = 'default';
After
var els = full ? $('body').children().filter('.blockUI') : $
('.blockUI', el);
Run Code Online (Sandbox Code Playgroud)
谢谢你!
在javascript函数中设置Rails变量有什么问题吗?我无法谷歌一个definete的答案,只是想确保没有我不知道的捕获或缺陷.我真的很困惑这是如何工作的 - 如果在客户端执行javascript,我不会假设Rails会在视图渲染后响应视图中的变量..?
(示例)我有多个函数调用相同的表单,我需要知道哪个函数称为表单在控制器方法中执行特定任务(在这种情况下会话是一个cookie,但我也尝试了一个本地Rails变量,它同样有效).
<script type="text/javascript">
$('.open_new_item_form' ).click(function(){
alert('<%= session[:item_form_type]%>');
<% session[:item_form_type] = "from_new_item_click" %>
alert('<%= session[:item_form_type]%>');
var url = $(this).attr("href");
$.ajax({
etc...
Run Code Online (Sandbox Code Playgroud)
警报似乎表明它运作良好.它将使用当前的valute警告,然后在set之后发出新的"from_new_item"值.
谢谢 - 只是确定
Rails 2.3.5/Will_Paginate Gem 2.3.15
我有一个页面部分,用户可以选择每页显示多少项目(选择"全部").我不喜欢在那里拥有'all'但是列表中的每个项目都有一个复选框,以便可以对列出的项目执行批量操作(如果项目被分解,用户无法选择查询将返回的所有项目到页面).
我没有找到答案,但有没有办法将:per_page选项设置为'all'?我暂时只是输入一个巨号(1000000)作为解决方法.这是唯一的方法吗?
我想过用find_by_sql替换paginate_by_sql条件,但是在视图中我必须添加逻辑以不写"<%= will_paginate @ items%>"
if cookies[:items_per_page]
if cookies[:items_per_page] == 'ALL'
@items = Item.paginate_by_sql(sql, :page => params[:page], :per_page => 1000000)
elsif %w(10 20 30 40 50 75 100).any? {|str| cookies[:items_per_page].include? str}
@items = Item.paginate_by_sql(sql, :page => params[:page], :per_page => cookies[:items_per_page].to_i)
else #cookie doesn't contain a valid choice, default to '10'
@items = Item.paginate_by_sql(sql, :page => params[:page], :per_page => 10)
end
else #cookie doesn't exist, default to '10'
@items = Item.paginate_by_sql(sql, :page => params[:page], :per_page => …Run Code Online (Sandbox Code Playgroud) 我一直在尝试不同的方法来解决这个问题,但我没有太多运气.
基本上,此查询返回构建员工的所有目录.我需要在此查询的选择中添加一个字段,该字段列出了在目录中内置了"admin"访问权限(u.access_level)的其他用户数量.
Table: Directories (has many users)
Table: Users (users of the directory with different access levels)
SELECT d.id, d.name, u.employee_number, u.access_level, u.id 'user_id',
(** count of all users of this directory where their u.access_level = 'admin) AS admins
FROM directories d JOIN users u ON d.id = u.directory_id
WHERE u.employee_number = '045283'
ORDER BY d.NAME
Run Code Online (Sandbox Code Playgroud)
因此,我需要返回构建员工的所有目录的记录集,包括对每个目录具有"admin"访问权限的用户总数.基本上我需要计算一些后来的框架逻辑,例如'如果员工是这个目录的最后一个管理员 - 不允许他们自己删除或更改他们的访问级别 - 首先将另一个用户升级到管理员级别).
感觉我需要一个子查询,但现在这有点超出我的SQL技能.谢谢你的帮助!
Rails 2.3.5
我没有运气寻找答案.我知道我可以写一个带有concat的手动sql语句,但我想我会问:
要加载一个选择,我正在运行一个移位记录查询.我试图在选择转换日期后跟一个空格然后转移名称.我无法弄清楚在collect中对两个字段进行连接的语法.Ruby文档使它看起来像加号和双引号应该在收集中工作,但我尝试的一切从Rails获得"预期的数字"错误.
@shift_list = [a find query].collect{|s| [s.shift_date + " " + s.shift_name, s.id]}
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助 - 非常感谢.
CF8
我使用此行来获取查询列的MIN值.我刚刚注意到记录集中的空值会导致错误.是否有一种简单的方法可以告诉ArrayMin跳过空值而不必循环列并加载一个包含所有非空值的数组?
<cfset temp_data_min = #round(ArrayMin(query_x["some_field"]))#>
Run Code Online (Sandbox Code Playgroud)
谢谢!
我不知道如何用这个词来表示Google搜索-赦免。如果我有一个像这样的模型:
c = Color.all
Run Code Online (Sandbox Code Playgroud)
我可以说:
c.Color[0].color_name
Run Code Online (Sandbox Code Playgroud)
因此,如果我然后有了一个包含该模型中字段名称的变量,例如:
b = 'color_name'
Run Code Online (Sandbox Code Playgroud)
我该如何使用字段名称为字符串的话说(“ c.color_name”):
c[0].b
Run Code Online (Sandbox Code Playgroud)
或者,我的意思是告诉Ruby / Rails使用vaiable的内容作为字段名称:
c[0].[the string value of b]
Run Code Online (Sandbox Code Playgroud)
我摸索着尝试所有我能想到的东西,但是我不知道它的语法。
谢谢!
Rails 2.3.5 / Ruby 1.8.7
我有一个具有KeyUp事件的表单文本字段.在KeyUp上我忽略了对数,但是数字,句点,退格,删除和光标键.因此,该领域唯一可以是数字或期间.
我需要验证这些内容(数字将变为%不超过100.00%): - 文本字段字符串是一个有效数字(除非有人放入两个'.',否则应始终为真). - 文本字段字符串最多有2个小数位 - 如果文本字段字符串有小数点,则后面有一些内容(小数点后1或2位,而不是结尾处的句点) - 数字不大于100 (<= 100)
示例(我需要验证的内容):
95 is true (valid, decimal places not required)
95. is false (don't need a '.' with no decimal place after)
95.0 is true
95.00 is true
95.000 is false (3 decimal places not valid) 100 is true
101.01 is false (over 100)
101 is false (over 100)
Run Code Online (Sandbox Code Playgroud)
我已经看到了一些可以执行该列表的几个部分的东西,但我不够聪明,无法修改正则表达式以获得我需要的内容.谢谢你的帮助!
coldfusion ×2
jquery ×2
ruby ×2
activerecord ×1
blockui ×1
coldfusion-8 ×1
javascript ×1
mysql ×1
prototype ×1