On Jueves, 4 de Noviembre de 2010 16:50:47 Dan Candea escribió:
> On 11/04/2010 04:08 PM, Sergio Cambra .:: entreCables S.L. ::. wrote:
> > On Jueves, 4 de Noviembre de 2010 14:06:44 Dan Candea escribió:
> > > On 11/04/2010 02:42 PM, Sergio Cambra .:: entreCables S.L. ::.
> > >
> > > wrote:
> > >> On Jueves, 4 de Noviembre de 2010 13:27:15 Dan Candea escribió:
> > >>> On 11/04/2010 01:07 PM, Sergio Cambra .:: entreCables S.L. ::.
> > >>>
> > >>> wrote:
> > >>>> On Jueves, 4 de Noviembre de 2010 11:42:26 Dan Candea
> > >>>>
> > >>>> escribió:
> > >>>>> On 04.11.2010 12:13, Sergio Cambra .:: entreCables S.L. ::.
> > >>>>>
> > >>>>> wrote:
> > >>>>>> On Jueves, 4 de Noviembre de 2010 11:05:15 Dan Candea
> > >>>>>>
> > >>>>>> escribió:
> > >>>>>>> On 11/04/2010 11:55 AM, Sergio Cambra .:: entreCables
> > >>>>>>>
> > >>>>>>> S.L. ::. wrote:
> > >>>>>>>> This method return nil if record.name is nil and
> > >>>>>>>> return the value returned by
> > >>>>>>>>
> > >>>>>>>> logger.info (i don't know what returns). Change it
> > >>>>>>>> with this: def value_form_column(record, input_name)
> > >>>>>>>>
> > >>>>>>>> column = active_scaffold_config.columns[:value] id =
> > >>>>>>>> active_scaffold_input_options(column)[:id]
> > >>>>>>>> logger.info
> > >>>>>>>> "##############################################
> > >>>>>>>> #{id}" select_options = record.name ?
> > >>>>>>>> User::LIST[record.name]
> > >>>>>>>>
> > >>>>>>>> : [] select :record, :value, select_options, :name
> > >>>>>>>>
> > >>>>>>>> =>
> > >>>>>>>>
> > >>>>>>>> input_name, :id => id
> > >>>>>>>>
> > >>>>>>>> end
> > >>>>>>>
> > >>>>>>> with logger.info I was just trying to see the values
> > >>>>>>> for different variables so I can understand were is
> > >>>>>>> the problem. now it crashes and I receive
> > >>>>>>>
> > >>>>>>>
> > >>>>>>> ActionView::TemplateError (undefined method `name' for
> > >>>>>>> nil:NilClass) on line #7 of
>
> vendor/plugins/active_scaffold/frontends/default/views/_form_attribu
>
>
> te .h tml .erb: 4:<label for="<%=
>
> > >>>>>>> active_scaffold_input_options(column, scope)[:id]
> > >>>>>>> %>"><%= column.label %></label> 5:</dt> 6:<dd> 7:<%=
> > >>>>>>> active_scaffold_input_for column, scope %> 8:<% if
> > >>>>>>> column.options.is_a?(Hash)&&
> > >>>>>>> column.options[:update_column] -%> 9:<%=
> > >>>>>>> loading_indicator_tag(:action => :render_field, :id
> > >>>>>>> => params[:id]) %> 10:<% end -%>
> > >>>>>>
> > >>>>>> Backtrace isn't useful without removing backtrace
> > >>>>>> silencers (uncomment last line in
> > >>>>>> config/initializers/backtrace_silencers.rb)
> > >>>>>
> > >>>>> I attached a file with the backtrace
> > >>>>>
> > >>>>> thank you
> > >>>>
> > >>>> The exception is due to value column doesn't exist, there is
> > >>>> no value column in active_scaffold_config.columns.
> > >>>>
> > >>>> Is the column named value? Becuase helper is named
> > >>>> valorae_form_column
> > >>>
> > >>> the actual field is valoare, value is just the example I put in
> > >>> the emails, cause the code is more complex that this.
> > >>>
> > >>>> Are you accessing to UserController directly? Becuase helper
> > >>>> override is on another helper. If you are using a subform you
> > >>>> will have to use active_scaffold_config_for(User) and pass a
> > >>>> scope to active_scaffold_input_options.
> > >>>
> > >>> yes, it is in a subform. I've put active_scaffold_config_for
> > >>> and now I get again the RSJ the id is trying to update is
> > >>> $("record_value__users_1288873379924").up is this correct?
> > >>>
> > >>> look how it is created in the browser: <select
> > >>> id="record_value" name="record[value]" class=""></select>
> > >>
> > >> Sorry, select tag has another options hash before html options
> > >> hash, try with this: select :record, :valorae, select_options,
> > >> {}, :name => input_name, :id => id
> > >>
> > >> Probably you will need to pass '[users]' (the scope) to
> > >> active_scaffold_input_options in order to get right id, you will
> > >> have to use a fixed scope because I think you can't get current
> > >> scope.
> > >
> > > so I should have id =
> > > active_scaffold_input_options(column,'[users]')[:id] ?
> > >
> > > I checked and id is
> > > record_value_07a967bd048be601d049f5b264bf6815_users
> > >
> > > and AS is trying to replace
> > > $("record_value_07a967bd048be601d049f5b264bf6815").up("dl").replace
>
> is this right?
>
> > Then remove '[users]', I thought it would be needed
>
> I figured out why some of your solutions didn't worked. I had two
> ActiveRecord models with same attributes name, which is ok in a rails
> applications, but not for AS.
> so without subform is working, the code is below
>
> def value_form_column(record, input_name)
> column = active_scaffold_config_for(User).columns[:value]
> id = active_scaffold_input_options(column)[:id]
> select_options = record.name ? User::LIST[record.name] : [id]
> select :record, :value, select_options, {} , :name =>
> input_name, :id => id
> end
>
> now, as a subform I get the id with
>
> id = active_scaffold_input_options(column,'[users]')[:id]
>
> and I get /record_value__users/
> but AS tries to update /$("record_value__users_1288884415612").up/ which
> I think is the right one.
>
> how do I get the good scope? or how could I test if there is subform or
> not?
>
I'm not sure, I changed master branch to get all options hash to avoid
building right id attribute.
Try with column_scope(active_scaffold_config.columns[:users])
--
Sergio Cambra .:: entreCables S.L. ::.
Mariana Pineda 23, 50.018 Zaragoza
T) 902 021 404 F) 976 52 98 07 E) [email protected]
--
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.