草庐IT

代码实例演示

全部标签

ruby - 识别 Treetop 语法中的 Ruby 代码

我正在尝试使用Treetop解析ERB文件。我需要能够处理如下行:既然Treetop是用Ruby编写的,而你用Ruby编写Treetop语法,那么Treetop中是否已经有一些现有的方式可以说“嘿,在这里寻找Ruby代码,并给我它的分解”而我不必单独写出来规则来处理Ruby语言的所有部分?我正在寻找一种方法,在我的.treetop语法文件中,有类似的东西:ruleerb_tag""{defcontent...end}end其中ruby_code由Treetop提供的一些规则处理。编辑:someoneelse使用Ruby-lex解析了ERB,但我在尝试重现他所做的事情时遇到了错误。rle

ruby-on-rails - 在哪里放置不是模型、 View 、 Controller 或助手的 Rails 代码?

我想在我的Rails应用程序中的多个Controller之间共享与View无关的代码。我应该将它放在目录结构中的什么位置?编辑:有问题的代码是否所有Controller都使用某些东西来确定如何它们呈现模型数据 最佳答案 如果代码类似于具有实用方法的模块,则可以将这些代码放在lib文件夹中。或者,您可以为某些Controller创建一个通用的父类(superclass),如果它们共享行为的话。请发布您正在考虑的代码类型的示例。 关于ruby-on-rails-在哪里放置不是模型、View、

ruby-on-rails - 向 Rails 模型实例对象动态添加哈希属性?

有模型classPlaylistModel然后在ControllerAction中有这样的代码PlaylistController但是PlaylistModel中(或播放列表表的架构中)没有定义visited属性!看起来一个新属性正在动态添加到对象中。这是正在发生的事情吗?所有这些功能在哪里定义/我在哪里可以阅读更多相关信息。感谢您的帮助! 最佳答案 这是解释的属性setter快捷方式here.它几乎等同于:@item.attributes[:visited]=true 关于ruby-o

ruby - 从 vim 运行 ruby​​ 代码

在Vim中编辑ruby​​程序后,是否可以在编辑器中运行它,而不是使用命令行? 最佳答案 在Vim中,你可以运行当前缓冲区::!ruby%它可能有用也可能没用,具体取决于您的用例。同样,您可以使用:!command调用任何shell命令 关于ruby-从vim运行ruby​​代码,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7042622/

ruby - 理解 Ruby 类实例变量

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhydoRubysettersneed“self.”qualificationwithintheclass?有人可以解释以下内容之间的区别,以及为什么它不像人们预期的那样:#version#1classUserdefinitialize(name,age)@name=name@age=ageendend#version#2classUserattr_accessor:name,:agedefinitialize(name,age)@name=name@age=ageendend#version#3class

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-on-rails - 相关模型的每个实例的事件管理范围

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

ruby-on-rails - 如何查看我机器上安装的 gem 的源代码?

我在我的Rails应用程序中安装了Devise,我想通读源代码并了解它是如何工作的。我查看了我的Rails应用程序的整个文件夹结构,但找不到任何代码(方法调用除外)。我知道我可以从Github存储库中看到源代码,但我希望在我的编辑器和本地计算机上看到它。我猜这段代码一定在某个主要的Ruby目录中,但我找不到它。任何帮助表示赞赏。谢谢。 最佳答案 除了Sergio的建议,还有另一种选择。在你的Rails路径中$bundleopendevise这将使用Gemfile中指定的版本在编辑器中打开已安装的gem,非常方便。

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 - 如何将字符代码转换回字符?

如何获取由以下返回的Fixnum:"abc"[2]回到角色? 最佳答案 这样做(如果n是整数):n.chr 关于ruby-如何将字符代码转换回字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/171279/