Rails -Friendly_id:如何将Friendly_id参数设置为日期时间格式?
我想使用Friendly_id和id中的日期时间,如下所示: 友好_id:日期
有没有办法配置友好_id(此处:日期)参数的格式以更改显示? (这里比“2010-05-09 00:00:00 UTC”更好)
i would like to use friendly_id with a datetime in id like that :
friendly_id :date
is there a way to configure the format the parameter of friendly_id (here :date) to have change the display ? (here better than "2010-05-09 00:00:00 UTC")
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您在标准的created_at和updated_at之上有一个额外的列,您可以使用它来创建Friendly_id。
它不适用于标准的created_at列,因为该列是在Friendly_id回调之后填充的,这意味着记录实际上并未创建。
如果您确实有一个列...
report_date
,并且具有日期时间类型,那么您可以这样做...或者像FriendlyId 4.x中的那样,
您所需要的只是您的上一个名为slug的字符串列模型(如果使用 4.x)
通过使用 before_create 和
set_report_date
方法,您可以确保report_date
值仅填充一次(在创建时)。可以在此处找到
strftime
的一些选项:https://gist.github.com/1965714希望有帮助。
If you have an extra column above the standard created_at and updated_at, you can use it to make the friendly_id.
It won't work with the standard created_at column as this gets populated after the friendly_id callback meaning that the record isn't actually created.
If you do have a column say ...
report_date
with a type of datetime then you could do this ...Or like this in FriendlyId 4.x
All you need is a string column called slug on your model if using 4.x
By using before_create and the
set_report_date
method, you can ensure that thereport_date
value is only populated once (on create).Some options for
strftime
can be found here: https://gist.github.com/1965714Hope that helps.