Ruby on rails Rails控制台应用程序初始化
今晚我创建了一个新的rails应用程序(4.2.5版),在Ruby on rails Rails控制台应用程序初始化,ruby-on-rails,ruby-on-rails-4,initialization,rubygems,Ruby On Rails,Ruby On Rails 4,Initialization,Rubygems,今晚我创建了一个新的rails应用程序(4.2.5版),在ActiveRecord和ActiveModel中进行了一些实验。在修改一些gems代码后,我注意到在启动/重新启动rails控制台时出现了一些意外行为 例子 运行bundle open activemodel使用p语句修改方法,保存文件。(截断的代码段) 打开rails c调用将调用此方法的内容 Loading development environment (Rails 4.2.5) 2.2.2 :001 > 2.2.2 :0
ActiveRecord
和ActiveModel
中进行了一些实验。在修改一些gems代码后,我注意到在启动/重新启动rails控制台时出现了一些意外行为
例子
bundle open activemodel
使用p
语句修改方法,保存文件。(截断的代码段)
Loading development environment (Rails 4.2.5)
2.2.2 :001 >
2.2.2 :001 > Product.new
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
"+++++++++++++++++++++++++++++++++++++++++++++++++++"
=> #<Product id: nil, in_stock: nil, name: nil>
2.2.2 :002 >
重新加载在rails控制台中进行code>并重新调用产品。new
提供与步骤2相同的输出。退出rails控制台并使用rails c
重新启动也会得到与步骤2相同的输出
ActiveModel
),但情况似乎并非如此。我发现看到所反映的更改的唯一方法是完全退出shell
如果有人能解释为什么我必须完全退出外壳才能看到我在gem中所做的更改?我不应该简单地退出/重新启动rails控制台吗
我从浏览中得到的印象是,调用
rails c
将启动启动序列,就像rails s
谢谢 我看到这种设置影响了这种行为:
在config/environments/development.rb上
打开
config.eager_load = true
我见过这种环境会影响这种行为: 在config/environments/development.rb上 打开
config.eager_load = true
你残疾了吗?您可以尝试使用
spring stop
停止spring服务器。退出shell时,spring进程将被终止,因此这可以解释您看到的行为。@taglia,是的,它是spring。实际上,我刚刚从Gemfile
中删除了它,并运行了bin/spring-binstub--remove--all
。这只是我的一些实验。在那之后,我的行为和我预期的一样。谢谢看起来答案是,看起来答案是。你应该可以结束你的问题。你禁用了吗?您可以尝试使用spring stop
停止spring服务器。退出shell时,spring进程将被终止,因此这可以解释您看到的行为。@taglia,是的,它是spring。实际上,我刚刚从Gemfile
中删除了它,并运行了bin/spring-binstub--remove--all
。这只是我的一些实验。在那之后,我的行为和我预期的一样。谢谢看起来答案是,看起来答案是。你应该能够结束你的问题。
config.eager_load = true