So I’ve been trying to figure this error out, it just cropped up:
`@my_object[such_and_such_attributes]' is not allowed as an instance variable name
As is usually the case with Rails, the answer is pretty obvious once you understand what’s going on. Here’s the relevant code:
<% fields_for 'my_object[such_and_suches_attributes]', @my_object.such_and_suches.first do |such_and_such_form| -%> <%= such_and_such_form.text_field :name %> <% end -%>
So why was the above creating the error? It’s because @my_object.such_and_suches was empty, thus Rails would try and use “my_object[such_and_suches_attributes]” as the attribute name which naturally didn’t work. This is the shortcut that allows this to work:
<% fields_for :posts do |post_form| -%> <%= post_form.text_field :title %> <% end -%>
Now in my situation, why the “such_and_suches” is empty is a whole other problem…
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.