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: 
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.
To add to Peter Nixey's answer, to resolve this problem in rails 3 I changed the following:

```
# application.rb
config.active_record.whitelist_attributes = false #it was true

```

When set to true, a whitelist is enforced for all attributes that can be mass assigned. This needs to be disabled or you can add them to the white list with 

```
attr_accessible <your attributes> 

```

**Edit**

As Peter quite rightly points out in the comments; by setting the configuration to false you leave yourself open to mass\_assignment attacks, so using the white list is the securest option,