2012-12-06 45 views
6

Rabl的,您可以通過命名並在您看來,比如搶屬性:Rails的Rabl的 - 返回所有屬性,而不只是叫那些

object @user 
attributes :name, :email 

我有它的屬性不會被稱爲一種模式,但我想使用rabl在我的實例變量中顯示從控制器返回的所有內容。

是否有一個快捷方式,如:

attributes :all 

感謝

+0

自從我寫這篇文章以來已經有一段時間了,但對於未來的讀者來說,https://github.com/rails/jbuilder非常好用,易於使用,並且可以非常快捷地構建json對象。 – Squadrons

回答

21

您應該能夠使用.column_names

attributes *User.column_names 
+0

這是我能找到的唯一答案。 – Magicmarkker

+0

嗯,我似乎無法調用用戶模型的實例上的列名稱。我可以在控制檯的用戶模型上調用column_names,但不能在模型的特定實例上調用。 – Squadrons

+0

你是對的,這是一個類方法 - 修正。或者,如果您不能確定模型類是否可以調用'.class':'* @ user.class.column_names' – PinnyM

5

如果你想擺脫一些列,如「created_at」和「updated_at」:

attributes *User.column_names - ["created_at", "updated_at"] 
相關問題