Итак, если я правильно понимаю, код, который вы разместили, работает правильно?Но теперь вы не хотите транслировать вывод JSON в браузер, а записываете его в файл?
Посмотрите, как Rails отображает JSON в исходном .Это довольно просто, просто вызывает функцию to_json
для любого объекта, который визуализируется.
Также взгляните на этот превосходный пост Иегуды Каца.Посмотрите в разделе Сериализация .
Теперь, чтобы сохранить все модели вашего профиля в виде JSON в файл, вы можете сделать что-то вроде этого:
File.open("all_profiles.json", "w") { |f| f.write(Profile.all.to_json) }
Редактировать :
С добавленным объяснением, вот еще некоторая информация:
JSON определенных полей в ваших моделях:
Profile.all.collect { |p| { :name => p.name, :city => p.city } }.to_json
Этодаст вам такой массив в Ruby:
[ {:name = "John", :city => "Liverpool"}, {:name = "Jimi", :city => "Seattle"} ]
И JSON вот так:
[ {"name":"John", "city":"Liverpool"}, {"name":"Jimi", "city":"Seattle"} ]