ビューの仮想属性の値を更新していますが、これはモデルインスタンスに反映されていません。
例えば:
MyModel.erb
attr_accessor_with_default :hello_world, false
View.html.erb
<%= @mymodel.hello_world %><br/>
<%
if ( @mymodel.hello_world == false )
@mymodel.hello_world = true
end
%>
<%= @mymodel.hello_world %>
ビューの出力:
false
true
ただし、ページをリロードすると、同じ出力が表示されます。
true
true
上記の動作が編集フォームに表示されています。フォームを(検証エラー付きで)送信すると、リロード(エラーの表示)されますが、hello_worldの値が更新されません。
何か提案はありますか? 目的の動作を実現するにはどうすればよいですか?