rails中遞迴的煩悶

2021-08-29 08:16:47 字數 539 閱讀 7005

因為要實現樹展現,當然用非遞迴也可以的,不過考慮靈活性和維護簡便還是用遞迴實現,以下的例子是在helper中使用的,不過rails的輸出始終讓我有點找不到北,畢竟在webwork中如果實在要輸出依然可以通過response得到輸入流的,但rails似乎沒有,於是只能用如下如此愚蠢的方法實現了:

protected

@@body=""

def build_tree(father_id=0,level=1)

@trees=site.find(:all,:conditions => "father_id=#")

@trees.each do |tree|

@t=""

(level-1).times do

@t+="++"    

end@@body +="

"build_tree(tree.id,level+1)

endreturn @@body

end最後結果滅有問題,但這樣用返回類變數方法總不是太好,還公尺有想出特別好的解決方案只能先如此了。接下來要實現js的許可權選單也會採用此法。

Rails中的validate校驗

可以使用validates presence of方法宣告模型類別非空驗證 validates presence of name,message 姓名不能為空 validates presence of message 性別不能為空 還可一次為多個屬性驗證 validates presence of...

Rails 中的 check box 用法

b 來自官方 b check box puppy gooddog yes no 說明 1.是用來放一些html的option的,比如,你希望你的check box被選中,check box puppy gooddog yes no 又比如,你希望你的多選框,有個class和css對應 check b...

Rails中重寫Active Record欄位屬性

系統重構或公升級時偶爾會碰到需要重寫某個欄位的情況,例如 1.讀取user的name欄位時,實際返回name new欄位 class user def name attribute name new endend 2.修改屬性時做一些其他操作 這種場景也可以使用 來實現 class user def...