Question: I currently have a design like follows

View1(mainview) creates a view2, sets a reference back to view1 in view2, presents view2

view2 creates a view3, sets view3 to have the same view1 reference, presents view3

view3 then needs to , depending on user selection, call a function on view1, which currently works perfectly and it should then present view1.

The issue is I need a way of showing view1 when view3 is done, so this reference gets passed along and clearly works because the method called on it executes. The issue I have is when trying to present it the app freezes. I also tried creating a new view1, setting it to the reference and presenting that, this causes a freeze too.

What could be the issue? I present it like everything else.

Answer: 
I suddenly realised what caused my problem. 

I had previously changed the default setting for mass\_assignment in a config file to enforce that all attributes were protected unless declared otherwise.

An obvious mistake in retrospect but hopefully this might save someone else some time too
Attr\_accessible is a safety feature. It tells your model to only save the mentioned values, upon a mass assignment (like save). Im' pretty sure that you will notice a Warning on mass assignment if you look at your logs.

If you have try to save a model even with a single accessible attribute, ONLY this will be saved in a mass assignment. Thus, if you have :password accessible but :password\_confirmation not accessible, only :password will be inserted, and you will get a warning.

I think that this is probably the reason why you get this behaviour.