Comments (6)
Doing this should be very easy. Don't yield a block to attribute, just do:
node :small_image_url do |tour|
root_url + tour.small_image_url
end
node :large_image_url do |tour|
root_url + tour.small_image_url
end
To create custom nodes and transform values just use the node
method which yields the object. Close this once you try.
from rabl.
Interesting idea though, I don't mind the attribute block transformation idea. Also not sure how you will get root_url my recommendation is setting it to an instance variable to pass the data along or find another way to access it. RABL is currently unable to access route urls directly as you are trying to do here. Interesting to see all the different use cases
from rabl.
Thanks for the quick reply, that code really helped. This is what I ended up doing (in case this helps anyone).
collection @tours
attributes :created_at, :days_required, :description, :fee_description, :fee_scale, :id, :name, :published, :updated_at, :lat, :lng
node :small_image_url do |tour|
@root_url + tour.small_image_url
end
node :large_image_url do |tour|
@root_url + tour.large_image_url
end
I did as you suggested adding creating a @root_url. I was under the impression that you could access view helpers, however I would have to say, I spend about 10 hours (maybe less) getting everything work and this method took me about an hour to flesh out the same, much cleaner solution. Thanks a bunch.
p.s. Why does my markdown never work!
from rabl.
It wouldnt be hard to add helpers to rabl, I personally never ran into the need to use helpers yet in my RABL, although getting it to work with view helpers should be trivial. Might be a good feature, I will add an issue, thanks.
from rabl.
Np. I'll try to help with documentation if I get a chance if you need someone, cause this gem is pretty amazing.
from rabl.
Added the issue here, will try to get to it soon: #19
Glad you like it, it has made our lives building APIs much easier. I would love any help you could provide with documentation or code. This gem is still very young but I think it has a lot of potential if I can get others to help pitch in.
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.