我正在运行Mac OSX 10.6.4并安装了RVM.它到目前为止一直很棒,我真的很喜欢它让我在同一台机器上管理多个版本的rails和ruby而不会头疼的方式!
但是,我不想为每个设置安装某些宝石(例如乘客).有没有办法在宝石集之间分享宝石?我有一个1.8.7@rails2.3.8和1.9.2@rails3,我可以安装一下诸如passenger,mysql和capistrano之类的宝石,并且可以与所有版本一起使用吗?
拿到
...'[] =':无法修改冻结的字符串(TypeError)
当试图修改我认为是ARGV [0]的副本时.
每个人的结果相同
arg = ARGV[ 0 ]
arg_cloned = ARGV[ 0 ].clone
arg_to_s = ARGV[ 0 ].to_s
arg[ 'x' ] = 'y'
arg_cloned[ 'x' ] = 'y'
arg_to_s[ 'x' ] = 'y'
Run Code Online (Sandbox Code Playgroud) 据我所知,super关键字调用一个方法,该方法与当前类的超类中的当前方法具有相同的名称.在autoload方法下面,有一个电话super.我想知道在哪个超类中我会找到一个具有相同名称的方法或者super这里要做的调用
module ActiveSupport
module Autoload
...
def autoload(const_name, path = @@at_path)
full = [self.name, @@under_path, const_name.to_s, path].compact.join("::")
location = path || Inflector.underscore(full)
if @@eager_autoload
@@autoloads[const_name] = location
end
super const_name, location
end
....
end
end
module ActiveRecord
extend ActiveSupport::Autoload
...
autoload :TestCase
autoload :TestFixtures, 'active_record/fixtures'
end
Run Code Online (Sandbox Code Playgroud)
此代码来自rails master分支.非常感谢.
我觉得这应该很简单,但我的大脑正在短路.如果我有表示当前用户的一个对象,并希望查询除了当前用户的所有用户,我怎么能做到这一点,考虑到当前用户有时会nil?
这就是我现在正在做的事情:
def index
@users = User.all
@users.delete current_user
end
Run Code Online (Sandbox Code Playgroud)
我不喜欢的是我正在对查询结果进行后处理.除了感觉有点不对外,如果我将查询转换为运行,我认为这不会很好will_paginate.有关如何使用查询执行此操作的任何建议?谢谢.
我需要在Ruby中获取堆栈跟踪对象; 不要打印它,只是为了让它做一些录音和倾倒以供以后分析.那可能吗?怎么样?
我使用以下内容允许我的用户在他们的个人资料中选择他们的性别.
<%= f.select (:sex, %w{ Male Female }) %>
Run Code Online (Sandbox Code Playgroud)
如果没有将任何内容传递给user.sex列,我将如何创建列表默认的空白值?我只是将男性或女性作为一个字符串传递.
目的是我想要一个空白值,所以验证可以确保他们知道他们必须选择它.
在config/routes.rb,我尝试了两个:
root :to => 'things#index', :as => 'things'
Run Code Online (Sandbox Code Playgroud)
和
root :to => 'things#index'
Run Code Online (Sandbox Code Playgroud)
当我击中时http://localhost:3000/,两种方法都有效,似乎没有什么不同.
:as用于什么选项?
我正在为一个新版本的gem编写gemspec,现在需要Ruby 1.9.以前版本的gem可以使用Ruby 1.8,但现在需要1.9.有没有办法导致这个版本的gem的gem安装失败,并向尝试在Ruby 1.8上安装它的用户发出警告?
我是铁杆的新手,我很难解决这个设计问题,这可能很容易解决,但我无处可去:我有两种不同的广告:亮点和便宜货.它们都具有相同的属性:标题,描述和一个图像(使用回形针).它们也有相同的动作应用于它们:索引,新建,编辑,创建,更新和销毁.
我设置了一个像这样的STI:
广告模型:ad.rb
class Ad < ActiveRecord::Base
end
Run Code Online (Sandbox Code Playgroud)
讨价还价模型:bargain.rb
class Bargain < Ad
end
Run Code Online (Sandbox Code Playgroud)
突出显示模型:highlight.rb
class Highlight < Ad
end
Run Code Online (Sandbox Code Playgroud)
问题是我想只有一个控制器(AdsController)执行我在讨价还价或亮点上所说的操作,具体取决于URL,比如www.foo.com/bargains [/ ...]或www.foo.com /强调[/...].
例如:
我怎样才能做到这一点?
谢谢!
ruby ×10
activerecord ×2
date ×1
datetime ×1
macos ×1
routing ×1
rubygems ×1
select ×1
stack ×1
stack-trace ×1