Not able to understand the flow of control. What is mop? Could you explain a bit further? This is interesting..
On Apr 12, 3:13 am, Me <chabg...@gmail.com> wrote: > Ok this is weird, I have full CRUD working for my contacts table all > doing ajax inline in my form. the odd one is that my delete funtion > uses the same partial as the one above and when I do the rjs for the > update on the select it DOES give me the "Prompt" to select User. > Delete is the only one that the prompt actually comes back on. Same > partial used on all of the updates to the contact select. > > On Apr 11, 12:26 pm, Chris Habgood <chabg...@gmail.com> wrote: > > > OK, I used the ID of the select and did a replace: > > > RJS: > > page[:showcontact].hide > > page[:contactlist].show > > page.insert_html :bottom,'contactlist', :partial => 'ajaxAddToMop', :locals > > => {:contact => @contact } > > page[:contact_id].replace :partial => "updateContactList", :locals => > > {:contacts => @contacts, :mop => @mop } > > > Partial: > > > <%= select('contact', 'id', @contacts, {:prompt => 'Select Contact'} ,{ > > :onchange => remote_function(:url => { :controller => 'contacts', > > :action => "ajaxshowcontact", :id => @mop.id}, > > > :with => "'contactid=' + this.value" ) > > > } ) %> > > > No change. Prompt is still not showing up. Data is there jsut not he > > prompt. I need the prompt as I use an ajax on change so the user can > > view/edit/update the user info if necessary inside the form. the controller > > code basically is updating the contact lsit. > > > 1.Gets all contacts. > > 2. gets all contacts associated with the form > > 3. subtracts the two and givesme an array with the contacts not associated > > woit the form. > > 4. As I add users to the form I make the association to the form. This way > > I can update the list easier than keeping track of an array. > > > Here is the controller code, no real significance. > > > def ajaxAddToMop > > @contact = Contact.find(params[:contact][:id], :include => [:company]) > > @mop = Mop.find(params[:id]) > > @mop.contacts << @contact > > a = Contact.all.collect{|p| [ p.id ] } > > b = @mop.contacts.all.collect{|p| [ p.id ] } > > c = a-b > > ar = Array.new > > c.each{|arr| > > arr.each{|p| > > ar << p > > } > > } > > > @contacts = Contact.find(:all, :conditions => ["id IN (?)", > > ar]).collect {|p| [ p.name, p.id ] } > > end > > > On Sat, Apr 11, 2009 at 11:42 AM, Jaryl Sim > > <quantum.crus...@gmail.com>wrote: > > > > Hmm, hope you can post up more code, even from your controller as > > > well. > > > > I think that instead of replacing the entire select tag, you can > > > simply replace its contents. Firstly, give the select tag an id so > > > that in your RJS, you can replace_html with options_for_select or > > > whatever function you might want to use. > > > > On Apr 11, 8:01 am, Chris Habgood <chabg...@gmail.com> wrote: > > > > Ok, that select I put is the only thing in the partial. > > > > Here is the rjs: > > > > page[:contact_list].replace_html :partial => 'updateContactList', > > > > :locals > > > => > > > > { :contact => @contact } > > > > > On Fri, Apr 10, 2009 at 6:58 PM, Phlip <phlip2...@gmail.com> wrote: > > > > > > Me wrote: > > > > > > I have this select in a form: > > > > > > <%= select('contact', 'id', @contacts, {:prompt => 'Select Contact'} > > > , > > > > > > { :onchange => remote_function(:url => { :controller => > > > > > > 'contacts', :action => "ajaxshowcontact", :id => @mop.id}, :with => > > > > > > "'contactid=' + this.value" ) > > > > > > } ) %> > > > > > > > The prompt works in the form but when I do a replace_html on it I > > > > > > get > > > > > > everything but the prompt. > > > > > > Post the replace_html code? > > > > > > Next, put only that <%= select %> thing into a partial (yes tiny > > > otherwise > > > > > useless partials are a Best Practice), then do rjs.replace_html > > > :my_div, > > > > > :partial => 'my_partial'. (I call "rjs" the variable everyone else > > > calls > > > > > "page", > > > > > because the interthing has too many "page" variables all over it!) > > > > > > You could also see about putting the :url into a named route. Just > > > about > > > > > anything in Rails that's "named" is a best practice, too! --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---