如何在rails中使用to_json时包含相关记录?

时间:2012-12-01 07:44:02

标签: ruby-on-rails ruby-on-rails-3 json has-and-belongs-to-many

我是铁杆新手。我有两个模型用户和语言,我有语言模型的语言列表。

class User < ActiveRecord::Base
 has_and_belongs_to_many :languages

class Language < ActiveRecord::Base
 has_and_belongs_to_many :users

我有两个问题:

  • 如何将现有语言添加到用户的语言列表中?
  • 如何将语言包含在用户的json表示中?

我没有任何形式我使用curl发布和接收json作为响应,如下所示:

  

curl -H'Content-Type:application / json'-H'接受:   application / json'-X GET htt:// localhost:3000 / profile.json -d“{   “auth_token”:“teafa52qsasTDGaahawa”}“

请帮帮我。提前致谢。

1 个答案:

答案 0 :(得分:2)

在更新记录时,使用@user.languages << @languages_to_add创建连接表中所需的记录。

在控制器中使用@user.to_json( include: :languages )将语言包含在JSON响应中。