Rails 取名的一些禁忌
今天寫 Rails 寫到一半,突然發現出現
經過這一個文章的講法 ,我發現到我的 controller 裡面有個 action 叫做 send,這是 ActionController 裡面的 function,Ruby 以為我要 Overridden 這個 function,所以才有這種情況。
有些錯誤不實際去做還真的不知道,Rails 有一些取名的禁忌,都記載在這頁,這裡列出一些常犯的method name , 這些是絕對不能取的
wrong number of arguments (0 for 1)然後整個 controller 裡面的頁面都出現同一個 Error。之前寫的同一個controller, 裡面正常的頁面全部都不能 work,全部都覆蓋在這個Error之下。
經過這一個文章的講法 ,我發現到我的 controller 裡面有個 action 叫做 send,這是 ActionController 裡面的 function,Ruby 以為我要 Overridden 這個 function,所以才有這種情況。
有些錯誤不實際去做還真的不知道,Rails 有一些取名的禁忌,都記載在這頁,這裡列出一些常犯的method name , 這些是絕對不能取的
- display
- format
- load
- send
- system
- process
- timeout
5 則留言:
Thank you for sharing.
ps: type is also not allowed in the db schema
謝謝,已經加入
wrong number of arguments (0 for 1) 除了命名禁忌之外 還有什麼可能的狀況嗎
並沒有多新的method 或是變數
可能是一些更trivial的錯誤嗎
你可以寄信給我,把詳細的情況跟我講:)
send 我印象中是對 Object 進行的 send...:QQ
這名字特別有印象是因為 Common Lisp 也是叫 send...
剛開始會以為是網路傳送什麼的, 其實不是 :QQ
張貼留言