这适用于任何包含空格的字符串
str.downcase.tr!(" ", "_")
Run Code Online (Sandbox Code Playgroud)
但是没有空格的字符串会被删除
所以"新学校"会变成"new_school",但"颜色"会变成"",什么都没有!
我正在开始为我正在开发的项目构建REST API,这让我对使用RoR构建API的最佳方法进行了一些研究.我很快就发现,默认情况下,模型对世界开放,只需在URL末尾添加".xml"并传递适当的参数即可通过URL调用.
那么下一个问题来了.如何保护我的应用以防止未经授权的更改?在做一些研究时,我发现了几篇文章attr_accessible,attr_protected以及如何使用它们.我发现的特定网址是在07年5月(这里)发布的.
和ruby一样,我确信自那时起事情已经发生了变化.所以我的问题是,这仍然是在RoR中保护REST API的最佳方法吗?
如果不是你在"新项目"或"现有项目"情景中建议什么?
我试图获得两个不同时间实例的小时差异.我从DB获取这些值作为:datetime列
如何在忽略或舍入分钟的同时将其包括在计算中的月份和年份?这只能手动完成还是有功能吗?
class Hello
@hello = "hello"
def display
puts @hello
end
end
h = Hello.new
h.display
Run Code Online (Sandbox Code Playgroud)
我创建了上面的课程.它不打印任何东西.我认为在类声明期间设置了实例变量@hello.但是当我调用display方法时输出为'nil'.这样做的正确方法是什么?
我在Rails应用程序中使用闪存通知,使用以下代码:
flash[:notice] = "Sorry, we weren't able to log you in with those details."
render :action => :new
Run Code Online (Sandbox Code Playgroud)
Flash消息在"新"操作上按预期呈现,但随后它也会显示用户访问的下一页(无论可能是什么).它应该只显示一次,但有些东西会让它坚持下去.
我刚开始玩JRuby.这是我的第一篇红宝石帖子.我很难理解Ruby中的类和对象.它并不意味着像其他面向对象的laguages中的类和对象.举个例子
Class.is_a? Object
Run Code Online (Sandbox Code Playgroud)
返回true 和
Object.is_a? Object
Run Code Online (Sandbox Code Playgroud)
也是.
所以class&Object都是对象
这是另一个
Class.is_a? Class
Run Code Online (Sandbox Code Playgroud)
返回true 和
Object.is_a? Class
Run Code Online (Sandbox Code Playgroud)
也是.
等等,我还没完成
Object.instance_of? Class
Class.instance_of? Class
Run Code Online (Sandbox Code Playgroud)
两者都是真的
Object.instance_of? Object
Class.instance_of? Object
Run Code Online (Sandbox Code Playgroud)
两者都是假的.对,没有什么可以是对象的实例.
和
Class.kind_of? Class
Object.kind_of? Class
Run Code Online (Sandbox Code Playgroud)
两者都是真的
Class.kind_of? Object
Object.kind_of? Object
Run Code Online (Sandbox Code Playgroud)
两者都是真的
所以两者完全相同,那为什么我们都有这两个.
经过一番挖掘,我写了这个简单的方法来返回两者支持的方法列表
irb(main):054:0> def print_methods(obj)
irb(main):055:1> obj.methods.each do |mm|
irb(main):056:2* puts mm
irb(main):057:2> end
irb(main):058:1> end
Run Code Online (Sandbox Code Playgroud)
print_methods(Object)和print_methods(Class)之间只有方法差异
Nesting
Run Code Online (Sandbox Code Playgroud)
如果嵌套意味着继承,Is Object类似于密封类?
有人可以澄清一下这是什么吗?
更新:给Edds评论
有趣的是,我在方法列表中看到了很多不同之处
c=Class.new
print_methods(c)
Run Code Online (Sandbox Code Playgroud)
&
o=Object.new
print_methods(o)
Run Code Online (Sandbox Code Playgroud)
现在我理解一个类的实例实际上是一个类实例(而这个类实例实际上是一个Object)而不是一个对象实例.甚至这个实例也允许我跨越另一个实例
xx = c.new //works - c is …Run Code Online (Sandbox Code Playgroud) 我的视图中有一个变量"x".我需要显示一些代码"x"次.
我基本上想要设置一个这样的循环:
for i = 1 to x
do something on (i)
end
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
如何在字符串中转义单引号和双引号?
我想一起逃避单引号和双引号.我知道如何单独传递它们但不知道如何传递它们.
例如: str = "ruby 'on rails" " = ruby 'on rails"
如何找到生产中正在运行的代码?
该应用程序经过了充分测试,但有很多测试可以测试未使用的代码.因此,他们在运行测试时得到报道......我想重构和清理这个烂摊子,它不断浪费我的时间.我有很多背景工作,这就是为什么我想要制作环境来指导我.在heroku运行我可以旋转dynos以补偿探查器对性能的影响.
相关问题如何在Ruby应用程序中找到未使用的方法?没有用.
额外奖励:用于显示运行代码行的频率的指标.不知道为什么我想要它,但我做到了!:)
Ruby:
true == true == true
Run Code Online (Sandbox Code Playgroud)
语法错误,意外的tEQ
与JavaScript:
true == true == true
// => true
Run Code Online (Sandbox Code Playgroud)
与C:
1 == 1 == 1
// => 1
Run Code Online (Sandbox Code Playgroud) ruby operators syntax-error operator-precedence associativity