0
我有@posts屬於用戶。我試圖呈現@posts,但也追加用戶名稱和城市。我想這將有可能做這樣的事情合併ActiveRecords對象的最佳方法?
respond_to do |format|
format.json {
@post_arr = Array.new
@posts.each do |post|
@post_arr[post.id] = post + post.user.name + post.user.city
end
render json: @post_arr
}
end
我得到了一個未定義的方法'+」爲#
我也試過在Post模型創建虛擬屬性,並將其指定爲這樣 post.author = post.user.name post.author_city = post.user.city 但它只是顯示json中的user_id(這是外鍵)
我嘗試合併以及但不起作用。什麼是做在軌
編輯有道:我得到了它與
format.json {
@post_arr = Array.new
@posts.each do |post|
@post_arr << post.as_json.merge!({:author_name => post.user.name, :author_city => post.user.city})
end
render json: @post_arr
}
end
CA ñ你解釋你在jbuilder文件中的json.user的位置 – CodeCrack 2015-02-09 00:29:18
雖然這是錯誤的答案...,但jbuilder的基本格式是'json.key值'。 'key'是json的關鍵(例如:id,name,user,...),你可以決定你想要什麼。 'value'是json的值(例如:1,2,post1,post2,..),並設置值ActiveRecord對象的值。請檢查https://github.com/rails/jbuilder,如果你想了解更多關於'jbuilder'的細節。 – shoji 2015-02-09 01:23:17