我是 Ruby 和 Rails 的新手。我在为我的服务构建 json 响应时遇到问题。我有两个模型:
class Transaction < ActiveRecord::Base
has_and_belongs_to_many :users
end
class User < ActiveRecord::Base
has_and_belongs_to_many :transactions
end
所以用户有交易的集合,而交易有用户的集合。我要做的是返回涉及询问用户的所有交易和涉及所有交易的其他用户。
我的 json 应该是这样的:
{"transactions":[{"name":"transaction1", "users":[{"userName":"user1"},{"userName":"user2"}]},{"name":"transaction2", "users":[{"userName":"user1"},{"userName":"user2"}]}]}
这是我的代码:
@user = User.find_by_facebookId(params[:id])
#json = User.find_by_facebookId(params[:id], :include => :transactions).to_json( :include => :transactions )
if @user != nil
render json: {"transactions" => @user.transactions.map do |transaction|
transaction
end
}
else
render json: {"transactions" => [{}]}
end