我有一个简单的数组,我试图获取数组中的每个第二项。不幸的是,我对 JavaScript 比 Ruby 更熟悉......
在 JavaScript 中,我可以简单地做
var arr = [1, 'foo', 'bar', 'baz', 9],
otherArr = [];
for (i=0; i < arr.length; i=i+2) {
// Do something... for example:
otherArr.push( arr[i] );
}
Run Code Online (Sandbox Code Playgroud)
现在我如何在 Ruby 中做到这一点?
我想访问像哈希对象的json字符串,以便我可以使用键值来访问json temp["anykey"]
.如何将ruby格式的json字符串转换为json对象?
我有以下json字符串
temp = '{"accept"=>"*/*", "host"=>"localhost:4567", "version"=>"HTTP/1.1",
"user_agent"=>"curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3",
"http_token"=>"375fe428b1d32787864264b830c54b97"}'
Run Code Online (Sandbox Code Playgroud) 第一次在Rails控制台中运行查询...
我有一个查询意外运行:像这样
User.where(:location => 'US'))
Run Code Online (Sandbox Code Playgroud)
显然,这吸引了我很多数据。
现在查询仍然挂在那里。我知道我可以关闭此会话并重新启动另一个会话。但是我只是想知道杀死查询的最安全方法。是否有类似mysql中的东西:
show full processlist
Run Code Online (Sandbox Code Playgroud)
和
kill #
Run Code Online (Sandbox Code Playgroud) 我正在进行复杂的搜索,为此我有特殊的模型:
create_table "cmdb_searches", force: :cascade do |t|
t.string "client"
t.string "in"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
Run Code Online (Sandbox Code Playgroud)
和evms_controller中的方法搜索:
def search
@cisearch = CmdbSearch.new(search_params)
@evms = Evm.order('id DESC')
@evms = @evms.where('client_name=?',@cisearch.client) if #cisearch.client.present?
@evms = @evms.where('in=?',@cisearch.in) if @cisearch.in.present?
respond_to do |format|
format.js
end
end
Run Code Online (Sandbox Code Playgroud)
并且我的js文件用响应填充了适当的div.如果我将表格留空或仅填写:客户字段,但是如果我填写:它在字段中它将返回错误:
SQLite3::SQLException: near "in": syntax error: SELECT "evms".* FROM "evms" WHERE (in='234543') ORDER BY id DESC
Run Code Online (Sandbox Code Playgroud)