2014-09-12 81 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 
相關問題