林学习轨道,探索了一下从书本,并创建具有为提高我的知识添加功能的简单应用。即时通讯编写一个简单的博客应用程序,我有一个名为添加日期的表单中的字段,我不希望这是一个字段,我希望它从服务器获取日期并自动将其放入数据库。我将如何去做这件事?我正在考虑一个隐藏的领域,但不确定如何处理日期并将其插入隐藏的领域。这是错误的做事方式吗?
由于事先
院长在轨当前日期形成
Q
在轨当前日期形成
2
A
回答
6
我不会用一个隐藏字段,因为即使它被隐藏在用户可以操纵这一点。我认为,解决这个问题的最好办法是,忽略形式的日期和时间正确保存对象之前添加到您的控制器操作模型:
def SomeController
#...
def create
@model = Model.new params[:model]
@model.date_field_name = Time.now
if @model.save
# whatever should be done if validation passes or
redirect_to @model
else
# whatever should be done if validation fails or
render :new
end
end
#...
end
但是你没有做任何这一点,因为轨道上的红宝石提供了两列created_at
和updated_at
。当对象被创建时将会设置created_at
,并且每次更新此对象时都会设置updated_at
。
0
在Rails中,如果你给模型的属性赋予某些名字,那么ActiveRecord会给它们特殊的行为。有四种不同的日期/时间相关的:
created_on
:被自动设置为记录的创建created_at
日期:被自动设置为日期和记录的创建updated_on
时间:被自动设置为记录被更新updated_at
日期:被自动设置为记录被更新
通常,created_at
/updated_at
对得到自动由t.timestamps
声明在添加到模型该模型的相关ActiveRecord Migration。
1
这里是一个形式的显示当前日期的视图(新):
<% form_for(@recipe) do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :title %><br />
<%= f.text_field :title %>
</p>
<p><b>date</b><br/>
<%= f.datetime_select :date %>
</p>
<p>
<%= f.label :instructions %><br />
<%= f.text_area :instructions %>
</p>
<p>
<%= f.submit 'Create' %>
</p>
<% end %>
<%= link_to 'Back', recipes_path %>
和控制器:
def new
@recipe = Recipe.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @recipe }
end
end
相关问题
- 1. 当前日期
- 2. 用Java生成当前日期戳记
- 3. 当前日期在app.config
- 4. 由当前日期
- 5. 仅当前日期
- 6. SQLite当前日期和过去几年的当前日期
- 7. 如何阻止包括日期助手当前日期和月份的轨道
- 8. 我如何保存当前日期/时间的轨道3日期时间列
- 9. 找到当前日期和日期在java中的日期
- 10. 比较在日期选择器日期与当前日期
- 11. 找出从当前日期前一年日期在JavaScript
- 12. sencha touch - datepickerfield在当前日期之前不显示日期
- 13. 如何在jsdatepicker当前日期之前禁用日期
- 14. 当前日期是当前或超过
- 15. 当前日期,当前月份?
- 16. 日期。减去从列当前日期
- 17. 比较当前日期和日期inp
- 18. 将日期添加到当前日期
- 19. PHP:日期不是当前日期
- 20. Sugarcrm日期选择器在当前日期之前禁用日期
- 21. 使用带导轨的extjs显示当前日期
- 22. Laravel形成空日期
- 23. AngularJS当前日期验证
- 24. DateTime.ParseExact返回当前日期
- 25. 显示当前日期
- 26. 安卓:getDat()当前日期
- 27. SQL当前系统日期
- 28. 提取当前日期
- 29. 取当前日期问题
- 30. 格式化当前日期
是当对象被添加到数据库中的updated_at设置?正如我想知道如果我可以只是改变我的看法,以update_at命令? – Dean 2010-05-24 10:31:37
是,当对象被添加到数据库'updated_at'相同'created_at' – jigfox 2010-05-24 10:37:35