1

モデルユーザーがいて、ユーザーはRuby on Rails 3のADMINになることができます

ユーザーのテーブルには次が含まれます

  t.boolean :admin,              :default => false
  t.string :email,              :null => false, :default => ""
  t.string :department
  t.string :username
  t.datetime :birthdate 
  t.string :encrypted_password, :null => false, :default => ""

私の質問は、今日がユーザーの誕生日であることを管理者に表示または通知する方法です。答えにモデル、コントローラー、およびビューが含まれているとありがたいです。

4

1 に答える 1

0

わかりました、あなたはすでにモデル、つまりユーザーを持っています。ユーザーの誕生日が今日かどうかを示すメソッドを追加するだけです。

class User
  def birthday_today?
    birthday == Date.today?
  end
end

次に、コントローラーで、これをインデックスページに表示したいとしましょう。独自の認証ソリューションがあると仮定します。たとえば、 current_user を呼び出すと、現在ログインしているユーザーが使用されるとします。

class WelcomeController < ApplicationController
  def index
    @display_honourees = current_user.admin?
    @honourees = User.all.find_all {|u| u.birthday_today? }
  end
end

そこに、必要なすべてのデータがあります。では、それらを表示してみましょう:

<html>
  ...
  <% if @display_honourees %>
    <ul>
      <% @honourees.each do |honouree| %>
        <li>It's <%= honouree.username %>'s birthday today! Make a party!</li>
      <% end %>
    </ul>
  <% end %>
  ...
</html>

これはあなたが必要とすることをしますか?

于 2012-05-25T19:58:46.977 に答える