【问题标题】:How to call Rails' model instance method from the console如何从控制台调用 Rails 的模型实例方法
【发布时间】:2015-03-02 19:22:46
【问题描述】:

我真的是 Rails 新手,正在处理其他人的代码,但我被困在最简单的事情上!

我在模型中定义了一个实例方法,但我似乎无法调用它。我发现了一堆类似的问题,但都不太对。

对于这个问题,Rails: Model instance method or helper method?,在模型中定义完 full_name 之后,您将如何调用它?在 Rails 控制台中,User.first.first_name 返回第一个用户的名字,但 User.first.full_name 返回未定义的方法错误。

【问题讨论】:

  • 只需在控制台中执行reload! 并再次调用该方法。
  • omg... 我知道它必须是这样简单的东西!太感谢了! :)
  • 我正在做与另一个问题中的示例完全相同的事情。奥雅纳是对的。我重新加载了服务器,但没有重新加载控制台!总是让我绊倒的是这些小事!

标签: ruby-on-rails ruby


【解决方案1】:

您似乎在定义模型内的方法之前在rails控制台中。这使得您的模型的新方法在 rails console 中不可用。因此,只需执行 reload!(重新加载环境) 并再次尝试相同的操作,这一次您将可以访问该方法。

【讨论】:

  • 我会将#reload! 更改为reload! 以避免人们复制/粘贴混淆而没有任何事情发生。
  • @Jon 复制/粘贴是什么意思? :)
  • 如果有人在控制台中输入#reload!,什么也不会发生,因为它是一个 Ruby 注释。前面不能有#
  • @Jon Humm.. 显然是有道理的。我实际上将实例方法编写为#some_method.. :) 进入 habbit.
猜你喜欢
  • 2011-06-14
  • 2013-06-11
  • 1970-01-01
  • 2013-04-18
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2012-05-27
相关资源
最近更新 更多