You're probably being tripped up by rails's automatic html escaping
What's in your view file?
It seems unlikely that you need to go down the root you're going down
- you can build whatever hash you need and then render it as json with
render :json => some_hash.
Well, the matter is quite complicated in fact. And I can't happen to
make render :json work for it does not render everything in an object
(at least, not something you add via instance_variable_set.
I have an object.
This object is joint with another object.
The two should be rendered in the same json object, but I figured that
would not be possible, so I rendered an array, containing themselves an
array with the first and the second object.
In some case, some objects have children : I'd like to render the array
of children in the same fashion (right after the object it concerns).
I can't think of a way to make that work without using a view.
Well, the matter is quite complicated in fact. And I can't happen to
make render :json work for it does not render everything in an object
(at least, not something you add via instance_variable_set.
I have an object.
This object is joint with another object.
The two should be rendered in the same json object, but I figured that
would not be possible, so I rendered an array, containing themselves an
array with the first and the second object.
In some case, some objects have children : I'd like to render the array
of children in the same fashion (right after the object it concerns).
I can't think of a way to make that work without using a view.
You may not be able to make render :json => my_active_record_object
work, but (by definition) any piece of json is just a combination of
hashes, arrays, strings, numbers etc. Build up that hash in ruby, call
to_json on it and you should be away.
Though, isn't it cleaner to keep the "interface" stuff in the views ?
Even if it's json, it still is nothing but a view to the javascript
part.
Also, even if I stopped using the view, if someone was to get the same
issue : the solution can be applying raw to the returns of
ActiveSupport::JSON.encode !