Comments (7)
@rolftimmermans, can you look at the blankslate issue?
@rgarver, can you check the caching problem?
from jbuilder.
I can replicate this result. Not sure why the tests aren't catching this.
from jbuilder.
Ah, @fluxsaas in order for this to work you need to pass in a context for the cache! call. Eg:
# index.json.jbuilder
json.cache! "users" do |json|
json.users @users do |json, user|
json.id user.id
end
end
The reason it was failing for you is because you were attaching the users to the json context outside the cache! scope. Try this and let me know how it works.
from jbuilder.
Oh, doh. I missed that part too.
from jbuilder.
Although I agree that an explicit argument to the block is how the current API works, I think it might worth considering supporting the other variant too. Currently the json
block arguments are always redundant and only there for backwards API compatibility. You'll always get the same instance of Jbuilder
.
To me it makes sense to implement cache!
in the same new way. It is simpler, faster and leads to fewer bugs. For example, cache!
currently resets the key formatter, which is not what may be expected. I can try to write a patch later.
from jbuilder.
Do look into the complications of not requiring the yield. We definitely still want to use the json yield at the top-level to tie all calls off, but maybe we don't need it in the subsequent blocks.
On Sep 25, 2012, at 10:32 AM, Rolf Timmermans wrote:
Although I agree that an explicit argument to the block is how the current API works, I think it might worth considering supporting the other variant too. Currently the json block arguments are always redundant and only there for backwards API compatibility. It would make sense to implement cache! in the same new way. It is simpler and leads to fewer bugs. For example, cache! currently resets the key formatting to default, which is not what may be expected. I can try to write a patch later.
—
Reply to this email directly or view it on GitHub.
David Heinemeier Hansson
from jbuilder.
yes, works fine. i guess i was used to the rails cache method and missed the scope...
from jbuilder.
Related Issues (20)
- `json.array! @reports, :id, :count` always give me all the attributes.[Not an issue] HOT 1
- JBuilder 2.11.3: "NoMethodError Exception: undefined method `empty?` for PG::Result" HOT 7
- Cache keys - recyclable by default?
- JBuilder 2.11.3: uninitialized constant ActionView::AbstractRenderer on load under Nginx/Passsenger HOT 3
- Cache key depending on multiple dependencies HOT 1
- jBuilder 2.11.3, Rails 6.1.4.1 fail to render objects that are child of Simpledelegator HOT 2
- 2.11.3 and 2.11.4 missing from Changelog HOT 1
- Does not work with Rails 7 api_only = true HOT 7
- Incorrect url comment notes in generated scaffold controller in a namespace.
- ActionView::MissingTemplate after upgrading to Rails 7 HOT 3
- Auto-rendering ActionText body contents instead of their attributes hash
- JBuilder Template Test failing on CI HOT 5
- I am moving my rails application to rails only api but jbuilder is returning a blank screen HOT 5
- Can't seem to render unescaped HTML in Jbuilder HOT 2
- Passing locals to `json.array!` ? HOT 2
- `json.partial!` line in template is not executed when passing locals using new hash syntax HOT 2
- Jbuilder ignore_nil, key_format, and deep_format_keys not working (Rails 7) HOT 1
- Jbuilder ignore_nil, key_format, and deep_format_keys not working (Rails 7)
- Sample use in standalone Ruby script HOT 1
- ActionView 7.0.7 collection caching breaking on jbuilder arrays HOT 2
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 jbuilder.