はじめに
DataTableへデータを渡すときに json 形式に変換する必要があります。
関連付けされたモデルのデータを簡単に json 形式に変換することができます。
関連リンク
関連リンクを下記に載せておくので、必要であれば参考にしてください。。
- 【Rails】 DataTables 実装方法
- 【Rails】 DataTables 動的にカラムを変更する方法
- 【Rails】 DataTables 検索結果の保持方法
関連付けされたモデルのデータを表示する方法
as_json の include をすることで user に関連付けされた post のデータを一緒に json のデータとして作成してくれます。
app/datatables/users_datatable.rb
class UsersDatatable
# *** 省略 ***
def as_json(options = {})
{
recordsTotal: User.count, # 取得件数
recordsFiltered: users.total_count, # フィルター前の全件数
# user モデルに関連付けされた post モデルを include して json ファイルを作成する。
data: users.as_json(include: :post), # 表データ
}
end
# *** 省略 ***
end
まとめ
こちらは突き詰めると、 DataTable 特有の使い方ではなく、 json ファイルの作り方の記事になってしまっています。
使い方が全くわからないという方には少しは参考になるかなーと思い投稿させていただきました。