如何将模型限制为每天一条记录(Rails)?

时间:2014-04-22 16:19:54

标签: ruby-on-rails model limit

我想构建一个简单的应用程序,用户可以跟踪他每天的运行距离。我希望它每天只有一个模型条目。如何将模型限制为每天只允许一次输入?我找到了一个解决方案,建议对具有独特日常期刊的期刊进行以下操作:

add_index :journal_entries, [:user_id, :created_on], unique: true

但是,我并不完全了解如何实现这一点。我必须为此索引设置另一个模型吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

您可能希望从控制器执行此操作,我建议当用户尝试输入条目时,您使用first_or_create!

@entry = Entry.where(created_at: Time.now.beginning_of_day.utc..Time.now.end_of_day.utc).first_or_create!
@entry.update_attributes(entry_params)

上面的代码找到在当前日期内创建的条目,或者如果它不存在则创建一个条目。