按照Ruby on Rails惯例,控制器名称被复数化,而模型名称是单数的。 示例:用户控制器,但用户模型。 rails generate controller Users rails generate model User name:string email:string 现在打开迁移文件 class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string :name t.string :email t.timestamps end end end 这里的表名是复数(用户)。 所以我的问题是 – 为什么表名是复数(用户),即使模型名称是单数(用户)?
可能重复: 在Rails中命名布尔列 什么是关于布尔字段名称的轨道公约? 例如,如果我有一个User模型,需要一个标志为“主动”,我应该调用数据库字段is_active或active ? 注:Rails自动生成问题标记的方法来访问布尔字段: User.is_active? 和User.active? 。
所以在Rails 3.2中,ActiveSupport :: Memoizable已经被弃用了。 该消息显示: DEPRECATION WARNING: ActiveSupport::Memoizable is deprecated and will be removed in future releases,simply use Ruby memoization pattern instead. 它指的是“Ruby的memoization模式”(单数)好像有一个模式,我们应该都知道和参考… 我认为他们的意思是这样的: def my_method @my_method ||= # … go get the value end 要么 def my_method return @my_method if defined?(@my_method) @my_method = # … go get the value end 还有什么我错过了吗?
RubyGems是Ruby编程语言的一个包pipe理器,它提供了一个用于分发Ruby程序和库的标准格式(一种被称为“gem”的独立格式),一个devise用于轻松pipe理gem安装的工具,以及一个服务器分发他们。 这与Python编程语言的EasyInstall类似。 RubyGems现在是Ruby 1.9版标准库的一部分。 也就是说,GEM_HOME和GEM_PATH有什么区别?
我试图将From行一直匹配到以下Subject行的末尾: …. From: XXXXXX Date: Tue, 8 Mar 2011 10:52:42 -0800 To: XXXXXXX Subject: XXXXXXX …. 到目前为止我有: /From:.*Date:.*To:.*Subject/m 但是,这不符合主题行的结尾。 我尝试添加$但没有效果。
Ruby / Rails在糖的基本function上做了很多很酷的事情,我想有一个很常见的情况,我想知道是否有人做过帮手或类似的事情。 a = Array.new(5, 1) a.each_with_index do |x, i| if i == 0 print x+1 elsif i == (a.length – 1) print x*10 else print x end end 饶恕丑陋,但这得到了什么人可能想要…有一个ruby的方式来做一些循环的第一个和最后一个? [编辑]我想理想情况下,这将是数组与参数(数组实例,所有元素函数,第一个元素函数,最后一个元素函数)的扩展…但我打开其他想法。
我已经安装了rvm,以确保我的本地开发版本的ruby与我的服务器上的特定应用程序(ruby1.8.7)相同。 我已经完成了这个,并安装ruby1.8.7好。 但是,当我尝试启动导轨控制台时出现此错误: Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page http://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your ruby with readline support after obtaining the […]
我有标准的ruby头和Rails 3.1rc4。 我使用http://dirk.net/2010/04/17/ruby-debug-with-ruby-19x-and-rails-3-on-rvm/安装了ruby-debug。 但是,当我运行rails s –debugger它会抛出这个奇怪的错误 /Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:237:in `require': dlopen(/Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle, 9): Symbol not found: _ruby_current_thread (LoadError) Referenced from: /Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle Expected in: flat namespace in /Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle – /Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle from /Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:237:in `block in require' from /Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:223:in `block in load_dependency' 任何想法? 谢谢,大卫
在这种情况下,我发现了自己两次:我在我的系统上安装一个gem,并从我的Rails项目开始使用它。 最终我需要对这个gem进行一些修改。 我应该如何继续? 理想情况下,我想查看某个地方的gem的源代码,比如〜/ third_party / gems,并且让我的Rails项目使用它。 那可能吗? 在所有的情况下,gem都在github上,所以我可能会在github上克隆它,让我的机会和维护我自己的分支。 我想那时我会直接用我的服务器上的gem install安装那个分支。 那有意义吗?
我有一套经常使用的rails视图助手,想将它们打包成一个gem,这样我就可以把一行放入我的Gemfile中,并且可以从我的视图中访问helpers。 在使用Bundler和Jeweler之前,我已经创build了gem,然而,我并不清楚如何在gem中组织Rails视图助手,并将它们包含在rails中。 我将不胜感激任何指针,或链接到最新的教程如何做到这一点的Rails 3 谢谢 只是为了澄清:问题不在于“如何创造gem”。 它的“如何在一个gem中包装视图助手,所以我可以在Rails中使用它们” 编辑2:我也同意下面的海报..一个铁轨引擎是太多矫枉过正这种(希望简单)要求