I found this helpful: http://railscasts.com/episodes/73-complex-forms-part-1
and the two episodes that follow. On Oct 20, 12:55 pm, Leonardo Mateo <[email protected]> wrote: > On Tue, Oct 20, 2009 at 8:17 AM, Francesco Belladonna > > > > <[email protected]> wrote: > > > Leonardo Mateo wrote: > >> On Tue, Oct 20, 2009 at 3:40 AM, Francesco Belladonna > >> <[email protected]> wrote: > >>> I would like to use only one field (always) (will be something that I'll > >>> use for all :date field-type), a text field, where the date will be > >>> written in dd/mm/YY format, how can I do this without writing something > >>> in javascript that "set some hidden fields" (month and year) when you > >>> write in the text field? > >> How would you do that on PHP? > > >>> Are there a "general" way (as I've said, I'll use this always instead of > >>> normal way of setting dates)? > > >> Scaffold will generate the form, but you can modify it as you please. > >> Change the form and make sure the parameters are OK in the controller > >> (yes, with tests) > > >> Hope it helps. > > >> -- > >> Leonardo Mateo. > >> There's no place like ~ > > In PHP I don't have a predefined framework and so I don't have rules to > > follow (but this is not a good thing: I'm changing from PHP to Ruby also > > for this reason), I have to write my own form and rewrite the way I use > > it for storing informations > > > BTW, I'm quite sure that I'm not explaining very well but I've found > > something: > > In ActionView::Helpers::DateHelper there is "date_select" method, which > > creates html tags formatted in a way, so the day selection tag will have > > "name" attribute "calendar[mydate(3i)]", the month will have > > "calendar[mydate(2i)]" and so on. If I change these tags in my single > > text field tag I will have "calendar[mydate]" and nothing else, but when > > I send this information obviusly ruby should understand how to "split" > > this date to store it: where should I do this (and where could I read my > > submitted vars?)? In controller I only have > > Calendar.new(params[:calendar]) in create method, so I think that params > > should be "changed" in some way, is this the good way? > > Yes, I don't think there's any other way to do that. You should parse > your params[:calendar][:mydateXX] and format them in the way you need. > I would do something like: > day = params[:calendar] .delete("mydate(3i)") > month = params[:calendar] .delete("mydate(3i)") > year = params[:calendar] .delete("mydate(3i)") > #I don't really remember the order they are stored, but you get the idea > Then, do somehting like: > params[:calendar][:name_of_the_date_field_here] = Date.new(year, month, day) > And then: > Calendar.new(params[:calendar] > > But that's just my first approach to this, maybe you can figure out a > better way to do it. > > Hope it helps. > > -- > Leonardo Mateo. > There's no place like ~ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" 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/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

