2014-09-12 83 views
0

我正在使用rails c命令从控制台访问我的控制器方法。我面临的问题是,每次我反映代码中所做的任何更改时,我都必须先退出并重新启动。这些解决这个问题的方法是什么?Rails:每次使用控制台更改代码时重新启动服务器

+0

你可以显示你正在运行哪个命令来获取控制台中的数据吗? – Surya 2014-09-12 11:38:53

+0

我只是调用某些类的静态方法,并且此方法在屏幕上输出 – LearningBasics 2014-09-12 11:56:19

+0

重新加载!没有按照要求工作,因此排除该选项 – LearningBasics 2014-09-12 11:57:10

回答

3

在Rails控制台,输入reload!

2.1.2 :012 > reload! 
Reloading... 
=> true 
2.1.2 :013 > 

重新加载所有Rails应用程序代码。无需退出并再次启动控制台!

+2

是的,但是有这样的警告:如果您有任何预先存在的对象,它们仍将基于前面的代码。因此,在重新加载命令后重新初始化您正在使用的任何对象都很重要。 – platforms 2014-09-12 12:17:23

+0

^^正是! +这些对象不会有更新的代码更新方法,你可能会得到奇怪的错误! – Surya 2014-09-12 12:18:43

0

如果你有关联,你可以这样做:

class home 
    belongs_to :renter 
end 

class renter 
    has_one :home 
end 

比方说,你开始与家庭属性:

home = Home.where(renter_id: 1) 
    => #< Home id: 1, alarm: "no"> 
renter = Renter.find(1) 
renter.home.alarm 
    => "no" 

然后修改主页:

home.alarm = "yes" 
home.save 

当你做:

renter.home 
    => #< Home id: 1, alarm: "no"> # it still returns no 
renter.home(true) 
    => #< Home id: 1, alarm: "yes">" 
     # you can use (true) to make sure your association 
     # change is reflected, it basically queries the server again 
相关问题