1
如何將Rails模型類名轉換爲符號:model_id?例如,我試圖將Book類轉換爲book_id。現在我能夠做到這一點如何從Model中獲取model_id?
"#{Book.to_s.parameterize}_id".to_sym
有沒有更好的方法來做到這一點?
如何將Rails模型類名轉換爲符號:model_id?例如,我試圖將Book類轉換爲book_id。現在我能夠做到這一點如何從Model中獲取model_id?
"#{Book.to_s.parameterize}_id".to_sym
有沒有更好的方法來做到這一點?
當然還有其他方法可以做到這一點。他們不一定更好:
Book.name.foreign_key.to_sym
你還需要考慮你想要發生什麼,如果類是在一個模塊,例如, Library::Book
。
Library::Book.name.parameterize.foreign_key.to_sym
=> library_book_id
'Book.name'與'Book.model_name'是一樣的嗎?或者你的意思是模型的某些屬性? – zishe
'name'是'Module'(因此'Class')的一個方法,它返回模塊的名字。 http://www.ruby-doc.org/core-2.1.1/Module.html#method-i-name – Shadwell
謝謝。我只是試圖警告,如果有Rails模型'Book'的'name'屬性,它主要會被調用。所以,我寧願使用'model_name'屬性來代替。 – zishe