草庐IT

ios - 在实例化时从按下状态开始 UIPanGesture 事件

全部标签

ruby - 如何在命令行上将实例变量传递给 HAML 模板?

背景我正在尝试测试Rails之外的一些HAML模板的格式。这个想法是在命令行或通过包含的Ruby文件传递​​一些实例变量,将模板呈现为标准输出。我尝试了几种不同的方法但没有成功,如下所述。需要一个Ruby文件例如,给定以下两个文件:HAML模板:“test.haml”!!!%h1TestingHAMLCLI%p=@bar%p=@bazRuby文件:“test.rb”@foo='abc'@bar='123'我希望像haml-r./testtest.haml这样的调用在标准输出上返回一个内插的HTML文件,但它没有。相反,我只得到HTML:TestingHAMLCLI程序化尝试由于这不起作

ruby - 将字符串对象转换为事件记录类

所以我很感兴趣是否有一种方法可以将字符串转换为事件记录类。示例:我有一个继承自ActiveRecord::Base的User类。有什么方法可以将字符串"User"转换为User类,这样我就可以使用ActiveRecord方法,例如find、哪里等 最佳答案 String#constantize返回具有字符串名称的常量的值。对于"User",这是您的User类:"User".constantize#=>User(id:integer,...)您可以将其分配给一个变量并调用ActiveRecord方法:model="User".cons

ruby - 带有临时文件的奇怪的 Ruby IO

这让我发疯。请考虑以下事项:require'open-uri'#setuptempfileextname=File.extnamefile_urlbasename=File.basename(file_url,extname)file=Tempfile.new([basename,extname])#readformURIintotempfileuri=URI.parse(file_url)num_bytes_writen=file.write(uri.read)puts"Wrote#{num_bytes_writen}bytes"#Readingfrommytempfileputs"

ruby-on-rails - 相关模型的每个实例的事件管理范围

我对动态事件管理范围有疑问。我正在尝试为我的应用程序中的“项目”的每个“经理”创建一个范围。但是,当创建新经理(或分配给项目)时,范围似乎不会更新,但如果我重新启动服务器,它们会更新。所以代码本身“有效”,但显然不是我想要的方式。我是ruby​​/rails新手,所以我不确定是否需要做一些事情以某种方式“刷新”范围。仅供引用,我在带有ActiveAdmin的HerokuCedar上使用Rails3.2这是有问题的代码(有效但仅在服务器重新启动后引入新的管理器):Manager.find_eachdo|m|scopem.first_namedo|projects|projects.whe

ruby-on-rails - 如何在不首先在 Ruby 中实例化的情况下获取所有子类的列表

如果我有4个具有以下层次结构的类:classMainClass如何在不遍历和创建每个其他类的实例的情况下获得MainClass的子类列表?在新的IRBsession中,我可以进去说irb(main)>MainClass.descendants=>[]但是,如果我遍历并创建每个子类的实例,我将看到以下内容irb(main)>SubClassA.new=>#irb(main)>SubClassB.new=>#irb(main)>SubClassC.new=>#irb(main)>MainClass.descendants=>[SubClassA(...),SubClassB(...),Su

ruby - 在 ruby​​ 中获取 attr_accessor/实例变量

所以我知道您可以通过调用#instance_variables获取Ruby中的所有实例变量,但如果它们尚未设置,则它们不会显示。示例classWalrusattr_accessor:flippers,:tusksendw=Walrus.neww.instance_variables#=>[]w.tusks#=>nilw.instance_variables#=>[:@tusks]我想立即访问attr_accessor定义的所有实例变量。w=Walrus.neww.instance_variables#=>[:@tusks,:@flippers] 最佳答案

Ruby:从散列的散列中删除特定键的所有实例

我有一个像这样的散列h={1=>{"inner"=>45},2=>{"inner"=>46},"inner"=>47}如何删除包含键“inner”的每一对?你可以看到一些“内部”对直接出现在h中,而另一些成对出现在h中请注意,我只想删除“内部”对,因此如果我对上述哈希调用我的批量删除方法,我应该得到h={1=>{},2=>{}}因为这些对没有键=="inner" 最佳答案 真的,这就是拒绝!用于:deff!xx.reject!{|k,v|'inner'==k}ifx.is_a?Hashx.each{|k,v|f!x[k]}end

ruby - 在 rspec 测试中填充实例变量

我有一个具有以下初始化方法的类。definitialize(my_var)@my_var=my_varend然后我想测试对@my_var做些什么的方法defsplit@my_var.split(",")end如何在测试它正确返回数组之前更改@my_var?如果没有@my_var的访问器,这是可能的吗? 最佳答案 这听起来不像是正确的做法。Rspec应该测试类和模型的接口(interface)行为——而不是内部实现(无疑是实例变量)。有多种方法可以做到这一点,但您确定不想为该变量设置访问器吗?无论如何,您可以使用my_object.i

ruby-on-rails - 在 ruby​​ on rails 中使用 facebook graph api 时从 url 获取一个 json 对象

如何在我的ruby​​onrails代码中通过URL获取JSON对象:url="https://graph.facebook.com/me/friends?access_token=XXX"我无法获得有关JSON+RubyonRails的良好教程。谁能帮帮我,谢谢。 最佳答案 require'open-uri'require'json'json_object=JSON.parse(open("https://graph.facebook.com/me/friends?access_token=XXX").read)这是最简单的方法,

ruby-on-rails - 防止实例上的 ActiveRecord save()

我有一个ActiveRecord模型对象Foo;它代表一个标准的数据库行。我希望能够显示该对象实例的修改版本。我想重用类本身,因为它已经具有我需要的所有Hook和方面。(例如:我已经有一个显示适当属性的View)。基本上我想克隆模型实例,修改它的一些属性,并将它反馈给调用者(View、测试等)。我不希望这些属性修改返回到数据库中。但是,我确实希望在克隆版本中包含id属性,因为它可以更轻松地处理路由助手。因此,我计划调用ActiveRecord::Base.clone(),手动设置克隆实例的ID,然后对新实例进行适当的属性更改。不过这让我很担心;修改后的实例上的一个save()和我的原始