On Mon, Sep 7, 2009 at 10:54 PM, Sergio Cambra .:: entreCables S.L. ::. <
[email protected]> wrote:
>
> On Lunes, 7 de Septiembre de 2009 19:38:42 rvhi escribió:
> > Hi,
> >
> > I run into some issues with checkbox inplace_edit. When the box is
> > checked the following params hash was sent,
> >
> > <hash>
> > <column>aaaa</column>
> > <action>bbbb</action>
> > <id>151</id>
> > <value>true</value>
> > <controller>cccc</controller>
> > </hash>
> >
> > If it is unchecked, this was sent
> > <hash>
> > <column>aaaa</column>
> > <action>bbbb</action>
> > <id>151</id>
> > <controller>cccc</controller>
> > </hash>
> >
> > The current implementation seems to treat them the same. Without
> > modifying the code of 'update_column', I have the following override,
> > @record.send("#{params[:column]}=", (params[:value] == 'true'))
> > @record.save
> > render :action => 'update_column'
> >
> > Would be better if it can be changed in the standard implementation.
>
> update_column is used for other types, so we can't assign (params[:value]
> ==
> 'true', that code works if you only use it for checkboxes, but we can't
> put it
> in ActiveScaffold.
>
> When is unchecked, params[:value] is missing, so column will be set to
> NULL.
> If column can't be null, the following line should put the default value.
> params[:value] ||= @record.column_for_attribute(params[:column]).default
> unless @record.column_for_attribute(params[:column]).null
>
> If your default value is true, then it doesn't work. You need override
> do_update_column in that case:
> def do_update_column
> params[:value] ||= 'false' if params[:column] ==
> 'column_with_default_true'
> super
> end
>
Hi Sergio,
I'd like to revisit the issue. It is possible to check if
@record.column_for_attribute(params[:column]).type is a :boolean. Can we
do this for the checkboxes? It is not very DRY in the code to do this
override for all boolean columns with default value true.
Thanks,
Richard
--
You received this message because you are subscribed to the Google Groups
"ActiveScaffold : Ruby on Rails plugin" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/activescaffold?hl=en.