У меня есть приветствие, пользователь, колледж, модель образования. На странице приветствия я хочу показать сообщения, отправленные только теми пользователями, которые поступили в тот же колледж, что и текущий пользователь ... но я не являюсьв состоянии показать это.я написал следующий код в моем приветственном контроллере:
def index
@welcome = Welcome.all
@newmessage = Welcome.new
@college = User.find(@current_user.id).colleges
end
используя первую строку, я могу показывать сообщения, опубликованные всеми пользователями в моем представлении, но это не то, что я хочу. Использованиетретья строка, я могу найти данные колледжа текущих пользователей, но я не уверен, как я могу использовать эти данные ...
как я могу искать только тех пользователей, которые имеют то же самоеколледж в качестве текущих пользователей ...
Ниже приведены коды моделей:
class User < ActiveRecord::Base
has_many :welcomes
has_many :educations
has_many :colleges, :through => :educations
end
class College < ActiveRecord::Base
has_many :educations
has_many :users, :through => :educations
end
class Welcome < ActiveRecord::Base
belongs_to :user
end
Ниже приводится моя схемакод для этих моделей:
create_table "welcomes", :force => true do |t|
t.text "message"
t.integer "user_id"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "users", :force => true do |t|
t.string "email", :default => "", :null => false
t.string "encrypted_password", :limit => 128, :default => "", :null => false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", :default => 0
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at"
t.datetime "updated_at"
t.string "first_name"
t.string "last_name"
t.integer "role_id"
t.string "ancestry"
end
create_table "educations", :force => true do |t|
t.integer "college_id"
t.integer "user_id"
t.integer "year"
t.text "concentration"
t.string "attended_for"
t.datetime "created_at"
t.datetime "updated_at"
t.string "month"
t.boolean "private", :default => false
t.boolean "approved", :default => false
t.integer "approved_by"
t.boolean "alumni", :default => false
t.boolean "is_mentor", :default => false
t.boolean "approved_mentor", :default => false
end
create_table "colleges", :force => true do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
t.boolean "approved", :default => false
end