你为何如此优秀?
加油
支持~
别给自己刨坑了
可读性 > 可扩展 > 优雅【这是三个不同的层面】
上面的都可以,我再写一种:
params.delete_if{|k, v| v.blank?}.values[0]
你这个串是符合 json 标准的字符串,并不是一个数组对象。你需要把它解析成 ruby 对象,这个对象就是你要遍历取值的数组。 是我上面写的不够清晰吗😆另外你上一条帖子也是同类的问题
部分源码
module Pagination
def paginate(options)
options.delete(:page)
per_page = options.delete(:per_page) || self.per_page
total = options.delete(:total_entries)
if options.any?
raise ArgumentError, "unsupported parameters: %p" % options.keys
end
end
end
def fetch_value(column)
values = []
parse_str = "[{\"alarmSeverity\"=>\"\", \"securityName\"=>\"\", \"authPass\"=>\"\", \"ip\"=>nil, \"resources\"=>[\"9999994\", \"9999990\", \"9999991\", \"9999992\", \"9999993\"], \"updateTime\"=>\"2018-07-04 16:06:41\", \"community\"=>\"\", \"type\"=>nil, \"version\"=>\"2c\", \"authProtocol\"=>\"\", \"alarmType\"=>\"\", \"createTime\"=>\"2018-07-04 16:06:41\", \"port\"=>nil, \"name\"=>\"1\", \"privProtocol\"=>\"\", \"id\"=>\"bd41966778b84176a621bcd326d5f357\", \"privPass\"=>\"\", \"resourceType\"=>\"1\"}, {\"alarmSeverity\"=>\"\", \"securityName\"=>\"\", \"authPass\"=>\"\", \"ip\"=>nil, \"resources\"=>[\"9999994\", \"9999990\", \"9999991\", \"9999992\", \"9999993\"], \"updateTime\"=>\"2018-07-04 16:06:22\", \"community\"=>\"\", \"type\"=>nil, \"version\"=>\"\", \"authProtocol\"=>\"\", \"alarmType\"=>\"\", \"createTime\"=>\"2018-07-04 16:06:22\", \"port\"=>nil, \"name\"=>\"\", \"privProtocol\"=>\"\", \"id\"=>\"7c6c388e120648749edb86c3ca70a946\", \"privPass\"=>\"\", \"resourceType\"=>\"1\"}, {\"alarmSeverity\"=>\"1\", \"securityName\"=>\"test\", \"authPass\"=>\"testpwd1\", \"ip\"=>nil, \"resources\"=>[\"9999994\", \"9999990\", \"9999991\", \"9999992\", \"9999993\"], \"updateTime\"=>\"2018-07-04 15:06:55\", \"community\"=>\"public\", \"type\"=>nil, \"version\"=>\"v3\", \"authProtocol\"=>\"SHA\", \"alarmType\"=>\"1\", \"createTime\"=>\"2018-07-04 15:06:55\", \"port\"=>nil, \"name\"=>\"test_subscribe\", \"privProtocol\"=>\"加密RSA\", \"id\"=>\"b3b82abf62124d0d90f7098d6bca9ec1\", \"privPass\"=>\"testpwd2\", \"resourceType\"=>\"\"}]"
result = eval parse_str
result.each{|temp| values.push(temp[column])}
values
end
p fetch_value('id')
那你根据 key 去除每个 value 值就行了
我说的意思是你把@subscribe.class 一下截个图我看看是什么类型如果是 String 的话,你试试下面的方案 ->
首先:你需要 JSON.parse 一下得到一个 new_hash
然后:new_hash[:subscribs] 得到一个数组,遍历取出来就行了
最后:你得到的不是一个 ActiveRecord::Relation 对象不能那么取值
看一下你 resp.body.split(",") 拿到的是什么类型的数据,应该不是 ActiveRecord::Relation
不优秀的话可以直接把待遇说到 70% 啊,人家能接受这个待遇就接受不接受可以另求高就,毕竟面试是双向的嘛。你这个不优秀压工资的说法,我也是第一次见,不知道是否符合劳动法?! 换位思考一下,你给员工一个功能他们主观上觉得你这个功能不应该让我待遇这么少的人来做!emm….索性我就写几个隐藏的 bug 不影响主要逻辑或者本来可以完成的就是给你把功能做的不完善,这样才是这个待遇应该做的。那你觉得开发这么做合适吗?所以就像我上面说的,面试是双向选择行不行给个痛快其实都挺不容易的
还是使用 ruby / in BeiJing
+1
返回的 json 串好像就是错的~
python or php
写在一个里面,把路由分开就行了
赞一个
ennnn.....
Nice!!!
ransack 好像不支持英文下划线搜索,两年前遇到的问题,好长时间不用这个插件了。记得当时用了两个转义字符搞定的
Model.where("code like '%\\_%'")
按照你说的需求一楼正解啊,加个支付时间条件过滤一下本月的就行了。另外就算不采用一楼的方法 Kaminari 是可以对数组分页的。当然一楼方案最好。
玩不会就开始发牢骚,一通怼!别的我不敢肯定,但肯定的是你在其它领域也很难有作为
赌徒想要去玩运气,赌场跟你玩数学
可以啊!解析有问题的话就返回当前日期:
Date.parse(xxx) rescue Date.current if xxx
@Loyea 应该也不是这个问题,因为我看你之前的 model 里面自定义 json 输出字段是没有问题的
确定一下你的 model 里面 appraise 索引使用分词了没,正常应该是这样的
mapping dynamic: false do
indexes :appraise, analyzer: 'xxx'
end
重点在怎么降低沟通成本
重新屡一下需求然后把你的问题再叙述一遍