我遇到了问题redirect_to :back.是的,这是推荐人.
我经常得到例外
(ActionController :: RedirectBackError)"在此操作的请求中未设置HTTP_REFERER,因此无法成功调用redirect_to:back.如果这是测试,请确保指定request.env [\"HTTP_REFERER \"]."
我意识到这是推荐人无法使用的结果.有没有办法,例如,可以在访问的最后一页访问每次访问时设置一个会话变量,当HTTP_REFERER不可用时,利用此会话变量重定向到?
如何检查字符串是否是有效的URL?
例如:
http://hello.it => yes
http:||bra.ziz, => no
Run Code Online (Sandbox Code Playgroud)
如果这是一个有效的URL,我如何检查这是否与图像文件相关?
我有一个Ruby哈希:
ages = { "Bruce" => 32,
"Clark" => 28
}
Run Code Online (Sandbox Code Playgroud)
假设我有另一个替换名称的哈希,是否有一种优雅的方式来重命名所有键,以便我最终得到:
ages = { "Bruce Wayne" => 32,
"Clark Kent" => 28
}
Run Code Online (Sandbox Code Playgroud) 我想我正试图让PHP等价print_r()(打印人类可读); 目前原始产量是:
ActiveRecord::Relation:0x10355d1c0
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
我在Rails 3中转换UTC Time或TimeWithZone本地时间时遇到问题.
Say moment是TimeUTC中的一些变量(例如moment = Time.now.utc).如何转换moment到我的时区,照顾DST(即使用EST/EDT)?
更确切地说,如果时间对应于美国东部夏令时间上午9点和"3月7日上午9点",如果时间是美国东部时间上周一上午9点,我打算打印出"3月14日星期一上午9点".
希望还有另一种方式吗?
编辑:我首先认为 "EDT"应该是一个公认的时区,但"EDT"不是一个实际的时区,更像是时区的状态.例如,要求没有任何意义Time.utc(2011,1,1).in_time_zone("EDT").这有点令人困惑,因为"EST" 是一个实际的时区,在一些不使用夏令时的地方使用,并且是(UTC-5)一年.
我正在尝试覆盖ActiveRecord模型的getter方法.我name在模型中调用了一个属性Category,我希望能够做到这样的事情:
def name
name_trans || name
end
Run Code Online (Sandbox Code Playgroud)
如果name_transattribute不是nil,则返回它,否则返回name属性.我该怎么做?
这应该像这样正常调用:
@category.name
Run Code Online (Sandbox Code Playgroud) 我已经看到两种常用的技术,用于将当前正在执行的文件的目录添加到$ LOAD_PATH(或$ :).如果你不使用宝石,我会看到这样做的好处.显然,一个看起来比另一个看起来更冗长,但有理由与其中一个相提并论吗?
第一个,冗长的方法(可能是过度杀伤):
$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__))) unless $LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__)))
Run Code Online (Sandbox Code Playgroud)
而且更直接,快速和肮脏:
$:.unshift File.dirname(__FILE__)
Run Code Online (Sandbox Code Playgroud)
有理由和其他人一起去吗?
Python和Ruby通常被认为是具有相似表现力和力量的近亲(虽然具有完全不同的历史包袱).但有些人认为Rails框架的巨大成功确实与它所构建的语言有很大关系:Ruby本身.那么为什么Ruby比Python更适合这样的框架呢?
我经常需要检查一些值是否为空,并写下"没有数据",如下所示:
@user.address.blank? ? "We don't know user's address" : @user.address
Run Code Online (Sandbox Code Playgroud)
当我们有大约20-30个字段,我们需要以这种方式处理它变得丑陋.
我所做的是使用or方法扩展String类
class String
def or(what)
self.strip.blank? ? what : self
end
end
@user.address.or("We don't know user's address")
Run Code Online (Sandbox Code Playgroud)
现在它看起来更好了.但它仍然是原始的和粗糙的
如何解决我的问题会更好.也许最好扩展ActiveSupport class或使用辅助方法或mixins或其他任何东西.什么红宝石的思想,你的经验和最佳实践可以告诉我.
说我有一个阵列.我希望将数组传递给函数.但是,该函数需要两个参数.有没有办法将数组转换为2个参数?例如:
a = [0,1,2,3,4]
b = [2,3]
a.slice(b)
Run Code Online (Sandbox Code Playgroud)
会在Ruby中产生错误.我需要输入a.slice(b[0],b[1])我正在寻找更优雅的东西,如a.slice(foo.bar(b))
谢谢.