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