2
我有一些rails應用程序。例如,我有下一個型號:User
,Post
。 User
型號生成Devise
。 Post
模型具有列text
和user_id
。關係:用戶has_many :posts
和郵政belongs_to :user
。我需要確定誰是帖子的所有者。例如,所有者可以編輯他的帖子。 如果我理解正確,我需要創建一些助手。我是新手,不明白是誰做的。有人能幫我嗎?創建新的幫手
我有一些rails應用程序。例如,我有下一個型號:User
,Post
。 User
型號生成Devise
。 Post
模型具有列text
和user_id
。關係:用戶has_many :posts
和郵政belongs_to :user
。我需要確定誰是帖子的所有者。例如,所有者可以編輯他的帖子。 如果我理解正確,我需要創建一些助手。我是新手,不明白是誰做的。有人能幫我嗎?創建新的幫手
術語「助手」可能會令人困惑。如果您使用導軌生成器,則會在名稱爲<model>s_helper.rb
的app/helpers
目錄中獲得一個文件。在這裏,您可以定義可在視圖模板中直接訪問的方法。例如,您可以定義一個名爲pronoun
基於存儲在用戶模式的gender
字段中的值的方法,如
def pronoun(user)
case user.gender
when "M"
"his"
when "F"
"her"
else
"their"
end
end
所以在視圖中引用了一些用戶,你可以做
當然,你可以在模型中做同樣的事情,通常這是編寫助手的好地方。例如,邏輯定義用戶身份可能是
def status_name
if created_at > 30.days.ago
"old timer"
else
"noob"
end
然後,無論你可以引用用戶模型的實例,就可以調用@user.status_name
一般情況下,模型的方法是少談介紹,更多的是邏輯。
我明白了。謝謝你的回答。 – Eugene 2012-03-15 09:30:38