Ruby on rails RubyonRails。如何只显示一次记录?

Ruby on rails RubyonRails。如何只显示一次记录?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我想知道如何在记录创建之后才显示它。所以我只想展示一次 看看吧。我有一个叫做索赔的模型。用户创建新声明(用户是匿名的)。我只想在用户创建该声明之后再显示该声明,而不再显示。我怎么做 我认为我可以使用flash散列,但我认为从用户数据创建符号不够安全。您可以在模型上查看一个属性,该属性在show操作中设置为true。如果查看的为true,则跳过渲染视图 unless thingy.viewed thingy.viewed = true thingy.save render like

我想知道如何在记录创建之后才显示它。所以我只想展示一次

看看吧。我有一个叫做索赔的模型。用户创建新声明(用户是匿名的)。我只想在用户创建该声明之后再显示该声明,而不再显示。我怎么做


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

您可以在模型上查看一个
属性,该属性在show操作中设置为true。如果查看的
为true,则跳过渲染视图

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

  render like normal...
end

您可以在模型上查看一个
属性,该属性在show action中设置为true。如果查看的
为true,则跳过渲染视图

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

  render like normal...
end

我同意这个。看起来是一个非常可靠的解决方案。哦,我必须注意,我会使用update_属性(:viewsed,true),而不是setter,而不是save。好的,但也许有人会添加解决方案,它不会使用数据库列?我会这样做。看起来是一个非常可靠的解决方案。哦,我必须注意,我会使用update_属性(:viewsed,true)而不是setter。好的,但也许有人会添加解决方案,它不会使用数据库列?为什么不在查看后删除它?为什么不在查看后删除它?