Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 生日通知红宝石_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 生日通知红宝石

Ruby on rails 生日通知红宝石,ruby-on-rails,ruby,Ruby On Rails,Ruby,我建立了一个系统,用户在其中注册,并在注册中包括他们的生日。我怎样才能做到这样呢?比如,当他们要结账并获得折扣时,会有某种通知显示今天是他们的生日 def change create_table :useraccount do |t| t.string :user t.string :password t.date :birthday t.timestamps null: false end end end 您可以在useraccount模型a

我建立了一个系统,用户在其中注册,并在注册中包括他们的生日。我怎样才能做到这样呢?比如,当他们要结账并获得折扣时,会有某种通知显示今天是他们的生日

def change
  create_table :useraccount do |t|

    t.string :user
    t.string :password
    t.date   :birthday

    t.timestamps null: false
  end
 end
end

您可以在useraccount模型app/models/useraccount.rb中定义如下方法:

 def birthday_today?
   birthday.month == Time.now.month &&
   birthday.day == Time.now.day
 end
然后您可以在控制器中像这样使用它:

 @show_birthday_notification = Useraccount.find( useraccount_id ).birthday_today?
在你看来,可以这样做:

 <% if @show_birthday_notification %>
   It's your birthday!
 <% end %>
您可以通过以下方式进行检查:

if current_user.birthday.strftime('%d-%m') == Date.today.strftime('%d-%m')
   # your stuff
end

或者你也可以像Eric Terry建议的那样创建单独的方法。

如果我想在他们登录后通知他们,我会将其添加到登录控制器中吗?