Can't iterate over hash, Liquid error: can't modify frozen string
Open
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 11.9k
- Forks
- 1.5k
- Avg merge
- 17h 55m
- Merged PRs (30d)
- 3
Description
For example my hash is like below:
h = {"a" => "a_val","b" => "b_val"}
liquid template file is like below:
{% for item in h %}
<div>{{ item[0] }} : {{ item[1] }}</div>
{% endfor %}
Output is something like below:
Liquid error: can't modify frozen string : a_val
Liquid error: can't modify frozen string : b_val
I can't able to print that keys. Using 2.3.0 liquid gem. Any idea how to get over from this?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the reported Ruby hash and Liquid template as a minimal reproduction under Liquid 2.3.0, then trace the iteration path that handles hash values. Confirm the expected behavior by rendering both keys and values without the frozen-string error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100