纯粹出于好奇,是否有更优雅的方法来简单地获取字符串中第一个=符号后的子串?以下作品回馈name=bob:
string = "option=name=bob"
string[string.index('=')+1..-1]
Run Code Online (Sandbox Code Playgroud)
它只是感觉不是非常Ruby.这也有效:
string.split('=', 2)[1]
Run Code Online (Sandbox Code Playgroud)
再次,不是很优雅,特别是因为split做了额外的不必要的工作.正则表达式是答案吗?我觉得这对于在字符串中查找单个字符位置的简单性来说有点过分:
string.match('=(.*)')[1]
Run Code Online (Sandbox Code Playgroud)
我不得不想象这是一种极为常见的情况,是不是有string.after('=')类型方法?Ruby on Rails是否提供类似这样的事情,因为在网络上使用这种操作的频率?
更新:忘记在找不到符号时提及情况,nil或者返回空字符串.但是正则表达式机制和.index方法需要额外检查(因此不那么优雅).
我有大量的postgresql转储文件,我需要仔细阅读数据.我是否必须逐个安装Postgresql并将其中的每一个"恢复"到新的数据库中?或者我希望有一个postgresql客户端可以简单地打开它们,我可以查看数据,甚至可以运行一个简单的SQL查询?
转储文件全部来自Postgresql v9.1.9服务器.
或者也许有一个工具可以轻松地使数据库与转储文件"连接"?
更新:这些不是文本文件.它们是二进制的.它们来自Heroku的备份机制,这就是 Heroku关于如何创建备份的说法:
PG备份使用本机pg_dump PostgreSQL工具来创建其备份文件,这使得导出到其他PostgreSQL安装变得微不足道.
我在Javascript中有一个简单的对象(或哈希):
var settings = {
link: 'http://example.com',
photo: 'http://photos.com/me.jpg'
};
Run Code Online (Sandbox Code Playgroud)
我需要它的副本.是否有一种settings.clone()类型方法会给我另一个具有相同属性的对象?我正在使用jQuery,很高兴使用jQuery实用程序方法(如果存在).
是否有可能使Facebook的评论小部件流畅?他们的文档显示了fb:commentsxfbml或iframe 的宽度字段,其指定为:
也许这不可能......
为了保持Ruby在布尔方法中使用问号的习惯(例如person.is_smart?),我想对Rails中的ActiveRecord字段做同样的事情:
rails generate model Person is_smart?:boolean
Run Code Online (Sandbox Code Playgroud)
我实际上没有运行上述声明.我假设数据库字段中不能有问号.rails会适当地处理这个吗?简单地从模型中留下问号是最佳做法吗?
使用Rails 3.2.8
ruby activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2
当有人试图离开特定页面而没有保存他们的工作时,我弹出一个对话框.我使用Javascript的onbeforeunload事件,效果很好.
现在,当用户在出现的对话框上单击"取消"时,我想运行一些Javascript代码(说他们不想离开页面).
这可能吗?我也在使用jQuery,所以可能有像我之前可以绑定的beforeunloadcancel这样的事件吗?
更新:如果用户选择取消,则实际上是将用户保存并指向不同的网页
我需要在HTML中添加连接图表节点的曲线.我想只使用HTML和/或CSS创建它们.即使并非所有浏览器都支持我需要的功能(特别是不关心IE8及以下),我对CSS3也没问题.以下是我可以使用的解决方案:
我错过了哪些选择?是否可以使用一个只有1个角可见的边界半径的div(并且可以在IE8及以下的所有浏览器上工作)?
我只希望我的div中的白色背景颜色半透明大约50%.内容应该是完全不透明的.这样做的正确方法是什么?我想象当我查看背景CSS属性时,我会找到一个不透明度设置,但没有.不关心IE6.
更新:使用下面给出的rgba解决方案与 CSS3PIE的解决方案一起解决,以使rgba在IE浏览器中运行.
我想使用HTML5视频播放器并流式传输视频.S3/CloudFront可以实现吗?我了解亚马逊使用RTMP流媒体协议,而HTML5的video标签不支持RTMP.有没有办法用HTML5播放器流式传输视频?
我想在列上指定唯一索引,但我还需要允许NULL值(多个记录可以包含NULL值).使用PostgreSQL进行测试时,我发现我可以拥有一条带有NULL值的记录,但下一个会导致问题:
irb(main):001:0> u=User.find(5)
User Load (111.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 5]]
=> #<User id: 5, email: "a@b.com", created_at: "2013-08-28 09:55:28", updated_at: "2013-08-28 09:55:28">
irb(main):002:0> u.email=nil
=> nil
irb(main):003:0> u.save
(1.1ms) BEGIN
User Exists (4.8ms) SELECT 1 AS one FROM "users" WHERE ("users"."email" IS NULL AND "users"."id" != 5) LIMIT 1
(1.5ms) ROLLBACK
=> false
Run Code Online (Sandbox Code Playgroud)
因此,即使数据库允许,Rails也会首先检查是否User存在具有不同id且email列设置为NULL.有没有一种方法,不仅数据库可以允许它,但Rails也不会像上面那样先检查?
这个想法是用户不必输入电子邮件,但如果他们这样做,我需要能够通过他们的电子邮件找到用户.我知道我可以创建另一个模型来将用户与电子邮件相关联,但我更愿意以上述方式进行操作.
更新:这是我为添加email列而创建的迁移代码:
class …Run Code Online (Sandbox Code Playgroud) postgresql activerecord ruby-on-rails ruby-on-rails-4 rails-activerecord
css ×3
activerecord ×2
css3 ×2
html5 ×2
javascript ×2
jquery ×2
ruby ×2
amazon-s3 ×1
clone ×1
comments ×1
copy ×1
database ×1
facebook ×1
html5-video ×1
opacity ×1
pg-dump ×1
postgresql ×1
rtmp ×1
string ×1
xfbml ×1