0
我試圖讓與同一學校(用戶對象的字符串)的用戶的所有活動,但我得到的錯誤是這樣的:Rails的用戶列加入
燦」將'Activity'加入到名爲'users'的關聯中;或許你拼錯了 呢?
activity_controller.rb
@school = current_user.school
@bathroom = Activity.includes(:users).where(name: 'Bathroom').where(:user => { :school => @school})
和架構:
create_table "activities", force: :cascade do |t|
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "student_id"
t.string "status"
t.integer "user_id"
t.index ["student_id"], name: "index_activities_on_student_id"
t.index ["user_id"], name: "index_activities_on_user_id"
end
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", 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, null: false
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", null: false
t.datetime "updated_at", null: false
t.string "name"
t.string "grade"
t.string "school"
t.integer "maxout"
t.index ["email"], name: "index_users_on_email", unique: true
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
end
現在我得到的ActiveRecord':: StatementInvalid活動#學校的SQLite3 ::的SQLException:沒有這樣的列:user.school' – beaconhill
嘗試'Activity.joins(:用戶)'而不是'includes' –
'SQLite3 :: SQLException:no such column:user.school:SELECT「activities」。* FROM「activities」INNER JOIN「用戶「ON」用戶「。」id「=」activities「。」user_id「WHERE」activities「。」name「=?和「user」。「school」=?' – beaconhill