我想在form_for显示一个标签: <div class="field"> <%= f.label :name %><br /> <%= f.text_field :name %> </div> 这将生成标签“名称”,但我希望它是“你的名字”。 我怎样才能改变它?
Ruby on Rails应用程序的标准方式是什么? 家 关于 联系 我会appricate如果有人有链接或答案,而不只是说使用gem,因为我想学习如何使这样的行为简单的webapps。
Ruby中的方法可见性(公共,受保护和私有方法)已经在这篇博文中得到很好的解释。 但是在Ruby on Rails中,由于框架的设置方式,它和普通的Ruby应用程序看起来略有不同。 那么,在Rails模型,控制器,帮助器,testing等方面,何时/不适合使用受保护或私有方法? 编辑 :感谢迄今为止的答案。 我理解Ruby中的protected和private的概念,但是我更多地了解这些types的可见性在Rails应用程序(模型,控制器,帮助程序,testing)的各个环境中使用的典型方式。 。 例如,公共控制器方法是操作方法,应用程序控制器中的受保护方法用于需要由多个控制器访问的“辅助方法”。
我正在尝试覆盖ActiveRecord模型的getter方法。 我在模型Category有一个名为name的属性,我希望能够做到这样的事情: def name name_trans || name end 如果name_trans属性不为零,则返回它,否则返回name属性。 我将如何做到这一点? 这应该这样正常地调用: @category.name
以下Errno::ENOENT: No such file or directory失败Errno::ENOENT: No such file or directory ,即使该文件存在: open('~/some_file') 不过,我可以这样做: open(File.expand_path('~/some_file')) 我有两个问题: 为什么不open指向主目录的代字符? 有比File.expand_path吗?
有点像logging器中的T恤function。
在Ruby中使用string插值的正确方法如下: name = "Ned Stark" puts "Hello there, #{name}" #=> "Hello there, Ned Stark" 这是我打算总是使用它的方式。 不过,我注意到Ruby的string插值有些奇怪 。 我已经注意到,string插值在Ruby中没有花括号来表示实例variables。 例如: @name = "Ned Stark" puts "Hello there, #@name" #=> "Hello there, Ned Stark" 而那个尝试与非实例variables相同的东西是行不通的。 name = "Ned Stark" puts "Hello, there, #name" #=> "Hello there, #name" 我在1.9.2和1.8.7都试过这个成功的例子。 为什么这个工作? 口译员在这里做什么?
我似乎无法使用ActiveRecord :: Base.find选项:一次订购多个列。 例如,我有一个带有date和参加列的“显示”模型。 如果我运行下面的代码: @shows = Show.find(:all, :order => "date") 我得到以下结果: [#<Show id: 7, date: "2009-04-18", attending: 2>, #<Show id: 1, date: "2009-04-18", attending: 78>, #<Show id: 2, date: "2009-04-19", attending: 91>, #<Show id: 3, date: "2009-04-20", attending: 16>, #<Show id: 4, date: "2009-04-21", attending: 136>] 如果我运行下面的代码: @shows = Show.find(:all, :order => "attending DESC") […]
我正在阅读Ruby文档,并对gsub和tr之间的区别感到困惑。 两者有什么区别?
我很难理解Ruby中的Array类的移位和非移位方法。 有人能帮我理解他们做什么吗?