我有一个与此类似的字符串:
[13:41:25] [100:Devnull]: 01:41:20, 13:41:21> |Hunit:Player-3693-07420299:DevnullYour [Chimaera Shot] hit |Hunit:Creature-0-3693-1116-3-87318-0000881AC4:Dungeoneer's Training DummyDungeoneer's Training Dummy 33265 Nature.
Run Code Online (Sandbox Code Playgroud)
如果你想知道,它来自魔兽世界.
我想结束这样的事情:
[13:41:25] [100:Devnull]: 01:41:20, 13:41:21> Your [Chimaera Shot] hit Dungeoneer's Training Dummy 33265 Nature.
Run Code Online (Sandbox Code Playgroud)
如果你注意到,"Dungeoneer's Training Dummy"会被打印两次.我设法用这样的东西摆脱了第一个"| Hunit"部分:
str = "[13:41:25] [100:Devnull]: 01:41:20, 13:41:21> |Hunit:Player-3693-07420299:DevnullYour [Chimaera Shot] hit |Hunit:Creature-0-3693-1116-3-87318-0000881AC4:Dungeoneer's Training DummyDungeoneer's Training Dummy 33265 Nature."
str = string.gsub(str, "|Hunit:.*:.*Your", "Your")
Run Code Online (Sandbox Code Playgroud)
哪个返回:
print(str) # => [13:41:25] [100:Devnull]: 01:41:20, 13:41:21> Your [Chimaera Shot] hit |Hunit:Creature-0-3693-1116-3-87318-0000881AC4:Dungeoneer's Training DummyDungeoneer's Training Dummy 33265 Nature.
Run Code Online (Sandbox Code Playgroud)
然后我添加第二个gsub:
str = string.gsub(str, …Run Code Online (Sandbox Code Playgroud) 首先,我想提一下我对Ruby和Rails的完全新手,我正在学习的第一天,所以如果我的问题看起来有些不清楚或太宽泛,我会道歉.
我正在尝试做一些简单的事情(我想?),这是为了转动一个表格.
我有一个看起来像这样的表:
----------------------------------
| Name | Product ID | Amount |
|----------|----------------------
| Robert | P1 | 2 |
| Michael | P2 | 1 |
| Leonard | P2 | 1 |
| Robert | P2 | 4 |
| Robert | P3 | 2 |
| Michael | P3 | 1 |
----------------------------------
Run Code Online (Sandbox Code Playgroud)
......我想把它变成这样的东西:
---------------------------
| Name | P1 | P2 | P3 |
---------------------------
| Robert | 2 | 4 | 2 |
| Michael | …Run Code Online (Sandbox Code Playgroud) 不确定这是否是我移动的设置,但我遇到了bootstrap datepicker在我访问项目的每一页上加载大量本地化文件的问题,即使页面中没有组件使用了datepicker元素.
我从我的development.log得到这样的东西:
Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.ar.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:15 -0700
Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.az.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:15 -0700
Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.bg.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:15 -0700
...
Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:16 -0700
Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:16 -0700
Run Code Online (Sandbox Code Playgroud)
很多行,从AR到zh-TW,如名称所示,它们是每种语言/区域的单独本地化文件.
这对我的生产服务器来说不是问题,但在开发时它非常重要.在Vagrant下,加载这些文件需要在每页之前大约7700ms,在VMware大约2300ms之下.
我的application.rb只有以下内容:
config.action_controller.include_all_helpers = false
Run Code Online (Sandbox Code Playgroud)
我的宝石文件:
source 'https://rubygems.org'
gem 'rails', '4.1'
gem 'sass-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> …Run Code Online (Sandbox Code Playgroud) jquery ruby-on-rails twitter-bootstrap ruby-on-rails-4 bootstrap-datepicker
我想将两个字段连接在一起,最好在两个字段之间留一个空格。我知道这可以在模型级别完成,但我无法预测将混合在一起的字段和表,因此我无法为此创建虚拟属性。
以下是我正在尝试做的事情的一个过于简单的示例。
表格:
# Product (id: integer, name: string, variety: string)
# Location (id: integer, city: string)
Run Code Online (Sandbox Code Playgroud)
这将为我提供位置关系以及产品种类:
p=Product.joins(:location).group(:location_id, :variety).pluck(:city, :variety)
Run Code Online (Sandbox Code Playgroud)
现在我需要将地点名称和品种名称连接在一起;这将city来自位置和variety产品。
这只是一个例子,但我会使用更多我无法预测的组合。我宁愿避免为此创建虚拟属性,因为为每个可能的组合添加属性会非常复杂,并且使用受影响的模型创建自己的函数对于这么简单的事情来说有点太多了。
我正在尝试将bootstrap3样式应用到我的rails应用程序,但我在使用DataTables样式时遇到了一些麻烦.我知道这是一个反复出现的问题,但我没有找到解决方案.
这是我的.gemfile的相关部分:
gem 'haml'
gem 'jquery-datatables-rails', git: 'https://github.com/rweng/jquery-datatables- rails.git'
gem 'jquery-ui-rails'
gem 'highcharts-rails'
gem 'therubyracer'
gem 'less-rails'
gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git', :branch => 'bootstrap3'
Run Code Online (Sandbox Code Playgroud)
这是我的application.js:
// require turbolinks
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
// require jquery.turbolinks
// require_tree .
//= require dataTables/jquery.dataTables
//= require dataTables/jquery.dataTables.bootstrap3
//= require jquery.ui.core
Run Code Online (Sandbox Code Playgroud)
请注意,我同时禁用了require_tree和turbolinks.
这是我的application.css:
*= require_self
*= require jquery.ui.core
*= require jquery.ui.theme
*= require_tree .
*= require dataTables/jquery.dataTables.bootstrap3
*= require special
Run Code Online (Sandbox Code Playgroud)
最后一行"需要特殊",用于我在我的网站上使用的某些覆盖.它们与DataTables上的任何内容都没有关系,但为了确保这个文件当前是空的.
我的js.coffee表有这个:
jQuery ->
$('#d_table').dataTable
sPaginationType: "bootstrap"
Run Code Online (Sandbox Code Playgroud)
没什么特别的,它只是表的初始化. …
ruby-on-rails twitter-bootstrap ruby-on-rails-4 twitter-bootstrap-3 jquery-datatables