2009-12-08 66 views
0

我想知道如何仅在创建后才显示记录。所以我只想展示一次。Ruby on Rails。如何仅显示一次记录?

请看。我有称为索赔的模型。用户创建新的声明(用户是匿名的)。我只想显示这个声明,只有用户创建它并永不再次。我该怎么做?

我认为我可以使用闪存散列,但我认为从用户数据创建符号是不够安全的。

+0

为什么不在查看后删除它? – tybro0103 2009-12-08 15:15:16

回答

1

您可以在您的模型上有一个viewed属性,您在show动作中将其设置为true。如果viewed为true,则跳过渲染视图。

unless thingy.viewed 
    thingy.viewed = true 
    thingy.save 

    render like normal... 
end 
+0

我在想它。但也许有更多Rubyish的方式来做到这一点... – 2009-12-08 07:36:04

+0

我会与此同去。看起来像一个非常稳固的解决方案。 – 2009-12-08 11:39:15

+0

哦,我必须注意到我会使用update_attribute(:viewing,true)而不是setter而不是保存。 – 2009-12-08 11:39:46