Ahh, right...that's it. God, I just couldn't get that -- ok, off to do it the right way that you showed me! -Janna.
On Jun 24, 2:04 pm, Gavin <ga...@thinkersplayground.com> wrote: > Okay - I'm assuming the action your form posts to is newchannel and > you want to access the input from the form in that method? > In which case: > > @channel_id_you_want = params[:ups][:channel_id] > > That should work? > > Gavin > > http://handyrailstips.com > > On Jun 24, 6:59 pm, JannaB <mistressja...@hotmail.com> wrote: > > > Gavin, > > > Sorry to beat the dead horse, but I still need to know how to access > > the channel_id given the way I initially posted the code. Can you show > > me that? -Janna > > > On Jun 24, 1:42 pm, Gavin <ga...@thinkersplayground.com> wrote: > > > > damn - sorry that should be: > > > <%= f.collection_select :channel_id, @channels, :id, :channel, :prompt > > > => true %> > > > > missed out the text_method param > > > > Gavin > > > >http://handyrailsitps.com > > > > On Jun 24, 6:40 pm, Gavin <ga...@thinkersplayground.com> wrote: > > > > > Try using <%- end -%> instead of <% end %> at the of the form. That > > > > should remove the line feeds and white space. > > > > > A lot of rails coders wouldn't use the named scope here. > > > > I always try to keep as much of this sort of logic in the model but > > > > you could also simply use 'find' in the controller: > > > > > @channels = Channel.all( :conditions => { :deleted => false }, :order > > > > => 'channel ASC' ).collect { |p| p.name, p.id } > > > > > also check out > > > > collection_select:http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelp... > > > > > I think this might be more appropriate for you in this instance: > > > > > <%= f.collection_select :channel_id, @channels, :id, :prompt => true > > > > %> > > > > > Hope that helps? > > > > > Gavin > > > > >http://handyrailstips.com > > > > > On Jun 24, 5:58 pm, JannaB <mistressja...@hotmail.com> wrote: > > > > > > Gavin, > > > > > > Thank you. But suppose I didn't use a named scope -- in that case, how > > > > > then could I refer to it in my controller? (though I will follow your > > > > > advice and use the named scope, I need to know the other way also). > > > > > > Also, between: > > > > > > <%= f.submit "Change" , :class=>'button' %> > > > > > <% end %> > > > > > <%= links_for_uplog %> > > > > > > it seems a line feed occurs......the <%= links_for_uplog %> is not > > > > > immediately to the right as I would like it to be (in <%= > > > > > links_for_uplog %>, > > > > > > the rendered html appears as (copying from firebug): > > > > > <div id="uplognavlist"> > > > > > <form name="channelsform" method="post" action="/ups/newchannel"> > > > > > <div style="margin: 0pt; padding: 0pt;"> > > > > > <input type="hidden" value="Ty9TBUArgAPxtLuvGL48Sg1uYbzlZWmSJL2dsWuL > > > > > +YQ=" name="authenticity_token"/> > > > > > </div> > > > > > <label for="ups_channel_id">Channel</label> > > > > > <select id="channel_channel_id" onchange="document.channelsform.submit > > > > > ();" name="channel[channel_id]"> > > > > > <option value=""/> > > > > > <option value="1">ggriptest</option> > > > > > </select> > > > > > </form> > > > > > <a title="Non-Automatic Change Log" style="float: right;" href="/ > > > > > audits/list?update=UpLogBody">Audit</a> > > > > > <a title="Add or Remove Associates" style="float: right;" href="/ups/ > > > > > hotwire?update=UpLogBody">Hotwire</a> > > > > > <a title="Show Uplog" style="float: right;" href="/ups/uplog? > > > > > update=UpLogBody">Uplog</a> > > > > > </div> > > > > > > It appears that after either </select> or </form> there is some kind > > > > > of a line feed in the display. > > > > > > Can you please answer Me those two questions Gavin? Thank You, Janna > > > > > > On Jun 24, 12:47 pm, Gavin <ga...@thinkersplayground.com> wrote: > > > > > > > Hi Janna, > > > > > > > First, you shouldn't be calling Channel.find(:all, :order => > > > > > > 'channel > > > > > > ASC', :conditions => ['deleted=0']).collect {|p| [ p.channel, p.id > > > > > > ]} > > > > > > > I'd add a named scope to the Channel model like so: > > > > > > > named_scope :not_deleted, :conditions => {:deleted => > > > > > > false }, :order => 'channel ASC' > > > > > > > And then in the controller: > > > > > > @channels = Channel.not_deleted > > > > > > > Then in your view: > > > > > > <%= f.select :channel_id, @channels %> > > > > > > > The standard here would be to create the new Ups in a method called > > > > > > create. By using form_for on a new record rails will automatically > > > > > > know to post to an action called create so, unless you have a good > > > > > > reason not to, I'd recommend calling your controller method "create" > > > > > > and letting Rails behave the way it wants to. > > > > > > > which 'line feed' do you want to remove? > > > > > > > Gavin > > > > > > >http://handyrailstips.com > > > > > > > On Jun 24, 4:46 pm, JannaB <mistressja...@hotmail.com> wrote: > > > > > > > > I have a model ("Ups") and a corresponding controller > > > > > > > ("UpsController"). The Ups model has a link to my "channels" toble > > > > > > > through channel_id > > > > > > > > Everything I am going to do in the given views for Ups have to do > > > > > > > with > > > > > > > using those ups from a selected channel. Thus, I am putting a > > > > > > > partial > > > > > > > at the top of the views, with a select box to choose the channels: > > > > > > > > <div id="uplognavlist"> > > > > > > > <% form_for :ups, :html => {:name => 'channelsform'},:url=>{ > > > > > > > :action > > > > > > > =>"newchannel", :controller =>"ups"} do |f| %> > > > > > > > <%= f.label :channel_id %> > > > > > > > <%= select("channel", "channel_id", Channel.find(:all, > > > > > > > :order => > > > > > > > 'channel ASC', :conditions => ['deleted=0']).collect {|p| > > > > > > > [ p.channel, p.id ]}, {:include_blank => true}) %> > > > > > > > <%= f.submit "Change" , :class=>'button' %> > > > > > > > <% end %> > > > > > > > <%= links_for_uplog %> > > > > > > > </div> > > > > > > > > My question is, within my UpsController.newchannel(), how do I > > > > > > > access > > > > > > > the calue of the channel_id that has been selected in the form > > > > > > > submission? > > > > > > > > Incidentally, if you look at the erb code I put above, there is a > > > > > > > line > > > > > > > feed that gets inserted after the submit button, before the next > > > > > > > section " links_for_uplog " within the div. How can I not have > > > > > > > that? > > > > > > > > Thanks, Janna --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---