Arel::Tableの内容をActiveRecord_Relationにマージする方法


ユーザ(`User`)毎にグループ化した アクセスログ(`AccessLog`)一覧を作っております。  
表示項目で 最新のアクセス日(`newest_accessed_at`)をArelで取得したのですが、  
その内容を ActiveRecord_Relationに入れると classがArel::Tableとなり
`.page`等のメソッドが実行できなくなります｡

ActiveRecord_Relationの内容に うまく Arelの内容をマージすることは可能でしょうか?

[code]

    # model
    class User < ActiveRecord::Base
      has_many :access_logs
    end
    
    class AccessLog < ActiveRecord::Base
      belongs_to :user
    end
    
    # model or controller
      @access_logs = AccessLog.all
      @access_logs = @access_logs.group(:user_id).project(arel_table[:accessed_at].maximum.as('`newest_accessed_at`')) # ここでclassがArelになる
      # @access_logs = @access_logs.group(:user_id).select("`access_logs`.*, max(`access_logs`.`accessed_at`) AS `newest_accessed_at`") # mysqlエラー
      @access_logs = @access_logs.page(10) # Arel::Tableだと `.page`が呼び出せない
    
    # views
      <% @access_logs.each do |access_log| %>
        <tr>
          <td><%= access_log.user.id %></td>
          <td><%= access_log.user.name %></td>
          <td><%= access_log.newest_accessed_at %></td>
        </tr>
      <% end %>
    
[/code]




selectメソッドも下記のようにArelのオブジェクトを引数に取れるようです。Rails 4.2で確認をしました。一度試してみてください。

[code]

    @access_logs.group(:user_id).select(arel_table[:accessed_at].maximum.as('`newest_accessed_at`'))
    
[/code]




selectメソッドも下記のようにArelのオブジェクトを引数に取れるようです。Rails 4.2で確認をしました。一度試してみてください。

[code]

    @access_logs.group(:user_id).select(arel_table[:accessed_at].maximum.as('`newest_accessed_at`'))
    
[/code]

