Repository navigation
Fix crash during CSV export of harvests and seeds - #4609
Conversation
When using Searchkick with `load: false`, search results are returned as HashResponse objects which do not support model associations or standard Rails URL helpers that expect model instances. This commit updates HarvestsController and SeedsController to conditionally load ActiveRecord objects when CSV format is requested, ensuring that the export templates can access the necessary associations. Similar logic was also applied to CropsController. Additionally, a typo in the Crops CSV shaper was fixed. Co-authored-by: CloCkWeRX <[email protected]>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
The CSV export for harvests, seeds, and crops was crashing because it used Searchkick with
load: false, which returns hash-like objects instead of ActiveRecord instances. The export templates (shapshers) were attempting to access model associations and use Rails URL helpers with these objects, causingActionView::Template::ErrorandNo route matcheserrors.Changes:
HarvestsController,SeedsController, andCropsControllerto useload: true(with appropriate preloading) only when CSV format is requested.c.seeds.size[]) inapp/views/crops/index.csv.shaper.This approach prevents the crash while maintaining high performance for standard HTML/JSON search requests.
PR created automatically by Jules for task 4991917409830119333 started by @CloCkWeRX