jobs(仕事)
applications(応募)
users(ユーザー)
というテーブルがあり、関連付けが以下のようになっています。
class job < ApplicationRecord has_many :applications has_many :users, through: :applicants end
1つの仕事に対して多数のユーザーが応募するという形で、応募テーブルはユーザーと仕事の中間テーブルになっています。
また仕事とそれに対する応募者の情報を以下のようにコントローラーで取得しています。
ユーザー情報もアクセスができます 。
@job = Job.includes(:users).find(params[:id]) #@job.users => これでusers情報が取れる。
しかしこの@jobをjbulderに渡しjsonとして返したいのですがどうしてもusersの情報が取得できません。
jobの情報は以下のように取得できるのですが、
json.jobs do |json| json.array!(@job) do |job| json.extract! job, :id, :title, :content end end
関連するusersの情報が取れません。以下のように書いてみたらダメでした
json.jobs do |json| json.array!(@job) do |job| json.extract! job, :id, :title, :content end json.array!(@job.users) do |user| json.extract! user, :id, :nickname end end
どうすればusers情報が取れますでしょうか?
jbuilderに慣れておらずで調べてもわからなかったため質問させていただきました。
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。