rails初心者です。
rails5で勉強中です。

都道府県、駅、路線名が別々もモデルになっておりアソシエーションを組んでおります。

    

#########モデル#########
#pref.rb(都道府県)
class Pref < ApplicationRecord
  has_many :stations
end

#station.rb(駅名)
class Station < ApplicationRecord
  belongs_to :pref
  belongs_to :line, foreign_key: 'line_id', primary_key: 'line_id'
end

#line.rb(路線名)
class Line < ApplicationRecord
  has_many :stations, class_name: 'Station', foreign_key: 'line_id', primary_key: 'line_id'
end


#########コントローラー#########
#stations_controller.rb
class StationsController < ApplicationController
  def index
    @pref_name = Station.find_by(pref_id: params[:area_id])
    @stations = Station.where(pref_id: params[:area_id])
  end

  def show
  end

end


#########ビュー#########
#stations/index.html.erb

<div class="container">
  <div class="row">
    <div class="col-md-12">
      <h1><%= @pref_name.pref.name %>|<%= @stations.count %>駅|Stations#index</h1>
      <p>Find me in app/views/stations/index.html.erb</p>

          <% @stations.each do |station| %>
            <div class="panel panel-default">
                  <div class="panel-heading"><%= station.line.line_name %></div>
                <ul class="list-group">
                      <li class="list-group-item"><%= station.station_name %></li>
                </ul>
            </div>
          <% end %>
    </div>
  </div>
</div>

DBはmysqlで
prefsテーブル
id:integer
pref_cd:integer
name:string

stationsテーブル
id:integer
pref_id:integer
station_cd:integer
station_name:string
line_id:integer

linesテーブル
id:integer
line_id:integer
line_name:string

現状は下記のような表示になってしまっています。

画像の説明をここに入力

【山手線】
大崎
【山手線】
五反田
【山手線】
目黒
上記のようになっているのを…

【山手線】
大崎
五反田
目黒
山手線の駅が全部出力されると…
【南武線】
矢野口
稲城長沼
南多摩

と言った具合に路線でグルーピング?して出力したいです。
各駅が持っているline_id(線路のID)をグループ化してどうにかしてeachで回せないかと考えていますが答えがでません。
どのように処理すれば解決しますでしょうか???
ぜひともご教授お願い致します!!!