Comments (12)
Oh that's an interesting use case I hadn't thought of. Using RABL to generate a callback for jsonp. What do you imagine the syntax would look like in the template? Shouldn't be hard to add as far as I can tell. Basically just needs to check the option in the 'to_json' method.
from rabl.
It could just automatically wrap response if a 'callback' parameter is passed in the HTTP request (since that's standard). Disabling/enabling the functionality could be controlled with a global configuration.
from rabl.
ok that would definately make it simple. Global configuration plus look at the callback in request parameters?
@sumskyi would that work for you?
from rabl.
yep, exactly. thanks!
from rabl.
Alright I like it, maybe add global configuration for JSON root nodes as well.... I.E
Rabl.configure do |r|
r.include_json_root = false
r.include_callbacks = true
end
and then if the request has:
http://....?callback=foo
Will be wrapped with:
foo({...})
in output. Will hopefully be able to get to this soon.
from rabl.
@sumskyi @canavese I have added full JSONP callback support to the git repo. Check the README for more details on configuration. Can you guys both try this from the repo directly. If it works without issue, I will push a new gem version. Commits here and here
Also support for supressing json root node. Configuration with:
# config/initializers/rabl_init.rb
Rabl.configure do |config|
config.include_json_root = false
config.enable_json_callbacks = true
end
from rabl.
Hi!
It works well.
Thank you!
from rabl.
Thanks for doing this so quickly. @sumskyi are both working on the same project, so we're both happy now :-)
from rabl.
Shouldn't it set the content-type as application/javascript since the content being returned is a javascript function?
from rabl.
How about enabling callbacks for other formats? Specifically I'm interested in callbacks for MessagePack.
from rabl.
thanks for thisIt seems that having a good architecture makes changes nice and easy 👍
from rabl.
👍
from rabl.
Related Issues (20)
- Drop riot? Unmaintained, broken on Ruby 2.5. HOT 2
- How to use rabl with swagger? HOT 2
- Tagging a new version, or use master branch? HOT 1
- Unable to properly render json for an simple array of objects HOT 1
- How do I render free form metadata HOT 1
- Migrating to Rails 5 - Rabl returning Active Record object
- Rspec renders rabl as string instead of json
- Not able to get the rendered result in Rails console HOT 1
- Rabl output values as keys
- Rabl partial lookup based on requested api namespace
- upgrading from 0.14.0 to 0.14.1 is a breaking change HOT 8
- Child removes node from response when the provided object is an empty array HOT 2
- Rabl not renders collection properly HOT 4
- Is nested map valid in RABL?
- N+1 issues HOT 1
- some problems to install rable on windows HOT 2
- Avoid playing with `Oj` shared `default_options` HOT 2
- rabl tests failing with rr 3.x and Ruby 3 HOT 12
- Rails 7 compatibility HOT 1
- access controller instance variables in representers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rabl.