@roccia :( 这种分组的查询没有使用过
@roccia , 你是怎么做 mongo 查询时间的?什么 bug?详细的看看。
按原意:返回 render 的 view, view 里 js 未执行。js 获取到返回值,及一段 html,js 并不会解析这段 html,需要加在 html,如$(container).html(html)
其实,不需要重复返回 view。只将你的统计数据返回为 json,{"iphone":[11],"android":[10]},并在 ajax success 时执行图表绘制就 OK 了。
# controller
def data
if request.post?
......
.....
render json: {iPhone: @iphone, android: @android}
end
end
// js
$.ajax({
url: "/analyzer/data",
type: "post",
data: {'start_date' :sd, 'end_date': ed},
dataType:'json',
success: function(data){
// add to here
new Chartkick.PieChart("chart-1", data, {});
},
error:function(){
alert('Error');
}
});
报名!
热爱 ruby 和编程
关于2的编码,我们遇到的主要情景是 windows 用户导入或导出时 csv 会有乱码,所以后台根据用户系统选择了默认的 csv 编码,比如 linux 使用 UTF-8:UTF-8,windows 使用 GB18030:UTF-8,然后:读/写 CSV.open/foreach(encoding:'***'){}
当进入 func 方法时,已经切换了作用域。对于在 func 中,var1 已经不是 local_variable,var1 已经失效。 所以在 func 中输出 var1,只能用其它方法#5。 #5 里面,第二个方法,使用了binding, set_trace_func, 然后用 proc 将当时的 bangding 带入了 方法 func 中,所以 var1 才可以见。
#8 同意 8 楼的说法.....
@drine 先:
sudo apt-get update
先:
sudo apt-get install libpq-dev
你的错误是 request 发送前的错误,还是服务返回后发生的错误?
windows 运行 RESTful 的服务,或者 Thrift 的服务开放给 rails 调用
linux 下运行 mono 的 wcf 的服务:我们之前也是想使用第三方的.net 库 (打印)。但是MONO 比较艰难(我们不是很专业),后来直接换成 windows wcf 了。在第一版的 wcf 中我们使用的是 soap,与 rails 的数据交换存在解析困难的问题。后来,类似需求我们都使用了 windows RESTFul 和 rails + rest-client, 挺好用。
@haoshanshan 之前社区里有帖子讨论过 socket,有例子
@serco 可以实现楼主目的 @yanhao @391117134 正解,是会出现异常的:ArgumentError: comparison of String with #Fixmun failed
因为 String 和 Fixnum 不同,在比较是先检测后者的类型是否为 String, 然后是则比较,如果否则:检测后者是否定义了 to_str 方法,如果否则判断为不可比较,如果是则比较。
unique: true 在 rails migration 中使用在 index 上(非 index 不起作用,mysql 在使用 ALTER TABLE TableName ADD UNIQUE (FieldName) 时自动生成 filed 的 index,保证 uniq 的性能),是数据库层面的 uniq。如果插入重复值,会抛出:ActiveRecord::RecordNotUnique 的 MysqlError
uniqueness: true是 rails 的验证,执行过程是先查询然后根据查询结果执行其它逻辑。但是当两个不同的数据库连接同时操作时,可能会生成同样的数据,所以建议要在数据库中建 uniq 的索引。 既然 mysql 已经有了 uniq 的验证了,为什么还要使用 rails uniquness 呢?此处
为什么只要某些字段呢?应用场景是什么?
可以从 query 的时候入手:
belongs_to :author,->{select([:name,:picture])}
这个帖子里有讨论 rails web server 的。 #35 楼的@poshboytl回复里有个文章Ruby Web 服务器:这十五年说到了:Mongrel 的定位,rack 等。就如 @so_zengtao 所说:术业有专攻
@kee 应该是,你可以试一下:)
@kee 简单做: chown nobody -R app chmod 755 --R app 这样 nobody 用户对 app 文件夹有了 rwx 的权限
权限不够,修改权限:
chown nginx_user:nginx_user_group -R app_folder
chmod 755 -R app_folder
env.update(
RACK_VERSION => Rack::VERSION,
RACK_INPUT => rack_input,
RACK_ERRORS => $stderr,
RACK_MULTITHREAD => true,
RACK_MULTIPROCESS => false,
RACK_RUNONCE => false,
RACK_URL_SCHEME => ["yes", "on", "1"].include?(env[HTTPS]) ? "https" : "http",
RACK_IS_HIJACK => true,
RACK_HIJACK => lambda { raise NotImplementedError, "only partial hijack is supported."},
RACK_HIJACK_IO => nil
)
def respond_to?(method)
method_str= method.to_s
method_str.include? 'info_' || super
end
这段代码的执行顺序是先执行或,然后执行 include?,所以当 method 中不含有'info_'时 respond_to?返回都是 false。
def apply_form_for_options!(record, object, options) #:nodoc:
....
action, method = object.respond_to?(:persisted?) && object.persisted? ? [:edit, :patch] : [:new, :post]
....
end
object.respond_to?(:persisted?)来判断 object 是否是持久化的来生成相应的 form
准备深学
nice