我在rails中使用devise进行身份验证。我在rails控制台中运行了类似的东西,它显示了正确的数字。
这是我在控制台中运行的内容:
Coles-MacBook-Pro-2:rq coleschiffer$ rails c
Loading development environment (Rails 4.1.0)
2.1.1 :001 > (Time.now - User.first.created_at.round)/60
User Load (0.2ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1
=> 1004.61901355
2.1.1 :002 >
然后我使用同一个班级来显示实时时间差异:
<% Time.now - (user_created_at)/60.round %>
但是,错误不断出现
undefined local variable or method `user_created_at' for #<#<Class:0x007fa66bfd0660>:0x007fa67186cc60>.
谢谢大家的帮助!
答案 0 :(得分:0)
<% Time.now - (@current_user.created_at)/60.round %>
为什么不试试time ago in words
<%= time_ago_in_words(@current_user.created_at) %>
# if @user is where you keep your user
# will produce '3 minutes' for example
答案 1 :(得分:0)
我将方法移到模型中,就像这样
class User < ActiveRecord::Base
def minutes_since_created
((Time.now - created_at) / 60).round
end
end
然后在视图中
<%= current_user.minutes_since_created %>