我正在控制器中处理许多类。我把它们放在不同的文件中。由于我仍然没有找到包含它们的正确方法(在不重新启动 Rails 服务器的情况下获取我的更改),我在我的控制器 rb 文件之上使用它:(我在堆栈上找到的这个建议)
if Rails.env.development?
load 'classes.rb'
else
require 'classes'
end
class FunController < ApplicationController
...
这很好,尽管我仍在寻找正确的解决方案。
但(!)
我在 classes.rb 中放了(不是那么简单的)代码
class FunClass
def initialize
sayHello
sayHello
end
def sayHello
puts "hello"
end
end
并且——当然!- 我得到了我的两个你好
但我不喜欢“你好”,我用“嗨”,我不得不改变它,并犯了一个错误:代码现在看起来:
class FunClass
def initialize
sayHi
sayHello # <-- this one I have overseen
end
def sayHi
puts "Hi"
end
end
如果你喜欢谜语,猜猜我得到了什么!
不,不是错误
我得到一个“嗨”和一个“你好”
虽然我是 ruby-on-rails 的新手,但我很清楚这里会发生什么,但这不是一个错误而不是一个功能吗?重新启动 Rails 服务器,您会收到预期的错误。
irl 我不小心在函数名称中间放了一个“s”(没有 ctrl 的 ctrl-s),并搜索了几个小时为什么没有弹出这个函数的更改。
我完全错了还是这是一个错误?