I''m running into an issue undefined local variable or method `directoryid'' for #<EditorialsController:0x23f1bf8> I have two Models on a legacy database and only one controller called editorials with two actions index and display. I''m trying to pass in a parameter from the results of my search and getting the above error. Example: two tables one is editorial the other fp_directory Editorial Model def self.date_range(from,to) find(:all, :conditions => {:expiration_date => from..to }, :order => ''expiration_date DESC'') end Directory Model def self.full_path(directoryid) find(:all, :conditions => { :j15c_directory_id => "#{directory_id}" }) end I have a view that displays my form and submits output to display controller all works until I add in one more piece. Editorial Controller def display @get_path = Directory.full_path(directory_id) end Now my results are working fine until I add in this one piece to get the directory_id <% for x in @editorials do %> <%= x.directory_id %> <% end %> If I want to pass in the x.directory_id into <%= @get_path(x.directory_id) I get the undefined local variable or method `directoryid'' for #<EditorialsController:0x23f1bf8> I''m realizing its something to do with my scope but I''m failing to find it. thanks appreciate any pointers. sc --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
seems like you have some uninitialized vars. where is @editorials set? where does directory_id in @get_path Directory.full_path(directory_id) come from? On Jun 24, 3:07 pm, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> I''m running into an issue undefined local variable or method > `directoryid'' for #<EditorialsController:0x23f1bf8> > > I have two Models on a legacy database and only one controller called > editorials with two actions index and display. > I''m trying to pass in a parameter from the results of my search and > getting the above error. > > Example: > two tables one is editorial the other fp_directory > > Editorial Model > def self.date_range(from,to) > find(:all, :conditions => {:expiration_date => from..to }, > :order => ''expiration_date DESC'') > end > > Directory Model > def self.full_path(directoryid) > find(:all, :conditions => { :j15c_directory_id => > "#{directory_id}" }) > end > > I have a view that displays my form and submits output to display > controller all works until I add in one more piece. > > Editorial Controller > def display > @get_path = Directory.full_path(directory_id) > end > > Now my results are working fine until I add in this one piece to get > the directory_id > > <% for x in @editorials do %> > <%= x.directory_id %> > <% end %> > > If I want to pass in the x.directory_id into > <%= @get_path(x.directory_id) > > I get the undefined local variable or method `directoryid'' for > #<EditorialsController:0x23f1bf8> > > I''m realizing its something to do with my scope but I''m failing to > find it. > > thanks appreciate any pointers. > > sc--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
@editorials is set in my EditorialsController actually line -- @editorials = Editorial.date_range(start_date, end_date) @editorials gets the start_date, and end_date from the passed in params during form submit. It then display''s my view which I have a for x in @editorials do loop which pulls in x.file_name - x.directory_id - x.record_id etc. So x.directory_id lives in my legacy editorial table. It''s then passed into the other command which hits my directory table. I''m assuming that is possible in the from the same view correct? So The x.directory_id is what I tried passing to the @get_path(x.directory_id) If I hardwire instead of trying to pass in x.directory_id I will return the path correctly. But I need it for each item returned from @editorials above loop. I''m very green at Rails/Ruby. Thanks.. Sc- On Jun 24, 6:53 pm, rubynuby <dear...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> seems like you have some uninitialized vars. > > where is @editorials set? > > where does directory_id in @get_path > Directory.full_path(directory_id) come from? > > On Jun 24, 3:07 pm, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > I''m running into an issue undefined local variable or method > > `directoryid'' for #<EditorialsController:0x23f1bf8> > > > I have two Models on a legacy database and only one controller called > > editorials with two actions index and display. > > I''m trying to pass in a parameter from the results of my search and > > getting the above error. > > > Example: > > two tables one is editorial the other fp_directory > > > Editorial Model > > def self.date_range(from,to) > > find(:all, :conditions => {:expiration_date => from..to }, > > :order => ''expiration_date DESC'') > > end > > > Directory Model > > def self.full_path(directoryid) > > find(:all, :conditions => { :j15c_directory_id => > > "#{directory_id}" }) > > end > > > I have a view that displays my form and submits output to display > > controller all works until I add in one more piece. > > > Editorial Controller > > def display > > @get_path = Directory.full_path(directory_id) > > end > > > Now my results are working fine until I add in this one piece to get > > the directory_id > > > <% for x in @editorials do %> > > <%= x.directory_id %> > > <% end %> > > > If I want to pass in the x.directory_id into > > <%= @get_path(x.directory_id) > > > I get the undefined local variable or method `directoryid'' for > > #<EditorialsController:0x23f1bf8> > > > I''m realizing its something to do with my scope but I''m failing to > > find it. > > > thanks appreciate any pointers. > > > sc--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
It looks like the code you''re running and the code you''ve show us as different: the error message mentions directoryid but not of the source you''ve show references such a variable. it''s going to be stabbing in the dark until you show your actual code (and by the looks of it the error (at least the first one it''s hitting) is in the controller. Fred --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
So @editorials is an array of Editorial (not of EditorialController). So x is should be an Editorial too, but it seems it''s an EditorialControler. The error shows you try to call the method of the controller, not of an instance of Editorial. But Frederick is right, you should show some more of the code, maybe that would help. On 25 Jun., 04:44, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> @editorials is set in my EditorialsController > actually line -- @editorials = Editorial.date_range(start_date, > end_date) > @editorials gets the start_date, and end_date from the passed in > params during form submit. It then display''s my view which I have a > for x in @editorials do loop which pulls in x.file_name - > x.directory_id - x.record_id etc. So x.directory_id lives in my > legacy editorial table. It''s then passed into the other command which > hits my directory table. I''m assuming that is possible in the from the > same view correct? > > So The x.directory_id is what I tried passing to the > @get_path(x.directory_id) > > If I hardwire instead of trying to pass in x.directory_id I will > return the path correctly. But I need it for each item returned from > @editorials above loop. > > I''m very green at Rails/Ruby. > > Thanks.. > > Sc- > > On Jun 24, 6:53 pm, rubynuby <dear...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > seems like you have some uninitialized vars. > > > where is @editorials set? > > > where does directory_id in @get_path > > Directory.full_path(directory_id) come from? > > > On Jun 24, 3:07 pm, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > I''m running into an issue undefined local variable or method > > > `directoryid'' for #<EditorialsController:0x23f1bf8> > > > > I have two Models on a legacy database and only one controller called > > > editorials with two actions index and display. > > > I''m trying to pass in a parameter from the results of my search and > > > getting the above error. > > > > Example: > > > two tables one is editorial the other fp_directory > > > > Editorial Model > > > def self.date_range(from,to) > > > find(:all, :conditions => {:expiration_date => from..to }, > > > :order => ''expiration_date DESC'') > > > end > > > > Directory Model > > > def self.full_path(directoryid) > > > find(:all, :conditions => { :j15c_directory_id => > > > "#{directory_id}" }) > > > end > > > > I have a view that displays my form and submits output to display > > > controller all works until I add in one more piece. > > > > Editorial Controller > > > def display > > > @get_path = Directory.full_path(directory_id) > > > end > > > > Now my results are working fine until I add in this one piece to get > > > the directory_id > > > > <% for x in @editorials do %> > > > <%= x.directory_id %> > > > <% end %> > > > > If I want to pass in the x.directory_id into > > > <%= @get_path(x.directory_id) > > > > I get the undefined local variable or method `directoryid'' for > > > #<EditorialsController:0x23f1bf8> > > > > I''m realizing its something to do with my scope but I''m failing to > > > find it. > > > > thanks appreciate any pointers. > > > > sc > >--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Sorry about the post I had an older version and a new version open in Textmate and copied and pasted incorrect. This is my latest setup which I started over from scratch using the standard restful index and show for my views. I narrowed down my issue but not sure how to solve just yet. So even with this instance @get_path out of my view still get this error below. At least I''m understanding the error more now. Error -- NameError (undefined local variable or method `directory_id'' for #<EditorialsController:0x2160fd8>): Two Models directory def self.full_path(directory_id) find(:all, :conditions => { :j15c_directory_id => "#{directory_id}" }) end editorial Model def self.date_range(from,to) find(:all, :conditions => {:expiration_date => from..to }, :order => ''expiration_date DESC'', :readonly => true) end One Controller editorials_controller.rb def index @time_today = Time.now.ctime() respond_to do |format| format.html # index.html.erb format.xml { render :xml => @editorial } end end def show start_date = "#{params[:editorial][:"from(1i)"]}- #{params[:editorial][:"from(2i)"]}-#{params[:editorial] [:"from(3i)"] }" end_date = "#{params[:editorial][:"to(1i)"]}-#{params[:editorial] [:"to(2i)"]}-#{params[:editorial][:"to(3i)"] }" @editorials = Editorial.date_range(start_date, end_date) @get_path = Directory.full_path(directory_id) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @editorial } end end end My Views Index.html.erb <h2>Input Date Range to form a Search</h2> <p> Todays Date and Time: <%= @time_today %> </p> <p> Please Enter a Start date and End date range to search for expiration dates. </p> <table> <% form_for :editorial, :url => {:action => ''show'' } do |form| %> <tr> <td>Start Date: <%= form.date_select :from %></td> <td>End Date: <%= form.date_select :to %></td> <td>Submit : <%= submit_tag "Search" %></td> </tr> <br /> <% end %> </table> Show.html.erb <div id="expiration-list"> <p>Your search returned a Total of <%= @editorials.size %> file(s)</p> <table> <% for x in @editorials do %> <tr valign="top" class="<%= cycle(''list-line-odd'', ''list-line-even'') %>"> <td><%= "File #{x.file_name} has an expiration date of #{x.expiration_date} Directory ID: #{x.directory_id}" %> ******* This is the place I wanted to pass x.directory_id to @get_path(x.directory_id) But it seems even without this I get an error as soon as I hit submit from my index.html.erb page. My thoughts were to just loop over the @get_path array and just grab one field. </tr> <% end %> <br> </table> </div> Thanks again and apologize for the sloppy posting... On Jun 25, 4:13 am, Sebastian Staudt <korak...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> So @editorials is an array of Editorial (not of EditorialController). > So x is should be an Editorial too, but it seems it''s an > EditorialControler. > The error shows you try to call the method of the controller, not of > an instance of Editorial. > > But Frederick is right, you should show some more of the code, maybe > that would help. > > On 25 Jun., 04:44, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > @editorials is set in my EditorialsController > > actually line -- @editorials = Editorial.date_range(start_date, > > end_date) > > @editorials gets the start_date, and end_date from the passed in > > params during form submit. It then display''s my view which I have a > > for x in @editorials do loop which pulls in x.file_name - > > x.directory_id - x.record_id etc. So x.directory_id lives in my > > legacy editorial table. It''s then passed into the other command which > > hits my directory table. I''m assuming that is possible in the from the > > same view correct? > > > So The x.directory_id is what I tried passing to the > > @get_path(x.directory_id) > > > If I hardwire instead of trying to pass in x.directory_id I will > > return the path correctly. But I need it for each item returned from > > @editorials above loop. > > > I''m very green at Rails/Ruby. > > > Thanks.. > > > Sc- > > > On Jun 24, 6:53 pm, rubynuby <dear...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > seems like you have some uninitialized vars. > > > > where is @editorials set? > > > > where does directory_id in @get_path > > > Directory.full_path(directory_id) come from? > > > > On Jun 24, 3:07 pm, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > I''m running into an issue undefined local variable or method > > > > `directoryid'' for #<EditorialsController:0x23f1bf8> > > > > > I have two Models on a legacy database and only one controller called > > > > editorials with two actions index and display. > > > > I''m trying to pass in a parameter from the results of my search and > > > > getting the above error. > > > > > Example: > > > > two tables one is editorial the other fp_directory > > > > > Editorial Model > > > > def self.date_range(from,to) > > > > find(:all, :conditions => {:expiration_date => from..to }, > > > > :order => ''expiration_date DESC'') > > > > end > > > > > Directory Model > > > > def self.full_path(directoryid) > > > > find(:all, :conditions => { :j15c_directory_id => > > > > "#{directory_id}" }) > > > > end > > > > > I have a view that displays my form and submits output to display > > > > controller all works until I add in one more piece. > > > > > Editorial Controller > > > > def display > > > > @get_path = Directory.full_path(directory_id) > > > > end > > > > > Now my results are working fine until I add in this one piece to get > > > > the directory_id > > > > > <% for x in @editorials do %> > > > > <%= x.directory_id %> > > > > <% end %> > > > > > If I want to pass in the x.directory_id into > > > > <%= @get_path(x.directory_id) > > > > > I get the undefined local variable or method `directoryid'' for > > > > #<EditorialsController:0x23f1bf8> > > > > > I''m realizing its something to do with my scope but I''m failing to > > > > find it. > > > > > thanks appreciate any pointers. > > > > > sc--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Scott, What is the relationship between your models? I''m guessing an editorial belongs to a directory? Also I ran into some trouble like this when using a legacy system because the "id" field was come weird name like "CustomerContactSomethingStupidID" and so I had to set my model to specify that field as the ID. http://pastie.org/221842 is an example of what i did for a set up in the model. I hope this helps, -Chris On Wed, Jun 25, 2008 at 7:38 AM, scottc12 <scomboni-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > Sorry about the post I had an older version and a new version open in > Textmate and copied and pasted incorrect. This is my latest setup > which I started over from scratch using the standard restful index and > show for my views. I narrowed down my issue but not sure how to solve > just yet. So even with this instance @get_path out of my view still > get this error below. At least I''m understanding the error more now. > > Error -- NameError (undefined local variable or method `directory_id'' > for #<EditorialsController:0x2160fd8>): > > Two Models > directory > def self.full_path(directory_id) > find(:all, :conditions => { :j15c_directory_id => > "#{directory_id}" }) > end > > editorial Model > def self.date_range(from,to) > find(:all, :conditions => {:expiration_date => from..to }, > :order => ''expiration_date DESC'', :readonly => true) > end > > One Controller > editorials_controller.rb > > def index > @time_today = Time.now.ctime() > > respond_to do |format| > format.html # index.html.erb > format.xml { render :xml => @editorial } > end > end > > def show > start_date = "#{params[:editorial][:"from(1i)"]}- > #{params[:editorial][:"from(2i)"]}-#{params[:editorial] > [:"from(3i)"] }" > end_date = "#{params[:editorial][:"to(1i)"]}-#{params[:editorial] > [:"to(2i)"]}-#{params[:editorial][:"to(3i)"] }" > @editorials = Editorial.date_range(start_date, end_date) > > @get_path = Directory.full_path(directory_id) > > > respond_to do |format| > format.html # show.html.erb > format.xml { render :xml => @editorial } > end > end > end > > My Views > > Index.html.erb > > <h2>Input Date Range to form a Search</h2> > <p> > Todays Date and Time: <%= @time_today %> > </p> > <p> > Please Enter a Start date and End date range to search for > expiration dates. > </p> > <table> > <% form_for :editorial, :url => {:action => ''show'' } do |form| %> > <tr> > <td>Start Date: <%= form.date_select :from %></td> > <td>End Date: <%= form.date_select :to %></td> > <td>Submit : <%= submit_tag "Search" %></td> > </tr> > <br /> > <% end %> > </table> > > Show.html.erb > <div id="expiration-list"> > <p>Your search returned a Total of <%= @editorials.size %> file(s)</p> > > > <table> > <% for x in @editorials do %> > <tr valign="top" class="<%= cycle(''list-line-odd'', ''list-line-even'') > %>"> > <td><%= "File #{x.file_name} has an expiration date of > #{x.expiration_date} Directory ID: #{x.directory_id}" %> > > ******* This is the place I wanted to pass x.directory_id to > @get_path(x.directory_id) But it seems even without this I get an > error as soon as I hit submit from my index.html.erb page. My > thoughts were to just loop over the @get_path array and just grab one > field. > > > </tr> > <% end %> > <br> > > </table> > </div> > > Thanks again and apologize for the sloppy posting... > > On Jun 25, 4:13 am, Sebastian Staudt <korak...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > So @editorials is an array of Editorial (not of EditorialController). > > So x is should be an Editorial too, but it seems it''s an > > EditorialControler. > > The error shows you try to call the method of the controller, not of > > an instance of Editorial. > > > > But Frederick is right, you should show some more of the code, maybe > > that would help. > > > > On 25 Jun., 04:44, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > @editorials is set in my EditorialsController > > > actually line -- @editorials = Editorial.date_range(start_date, > > > end_date) > > > @editorials gets the start_date, and end_date from the passed in > > > params during form submit. It then display''s my view which I have a > > > for x in @editorials do loop which pulls in x.file_name - > > > x.directory_id - x.record_id etc. So x.directory_id lives in my > > > legacy editorial table. It''s then passed into the other command which > > > hits my directory table. I''m assuming that is possible in the from the > > > same view correct? > > > > > So The x.directory_id is what I tried passing to the > > > @get_path(x.directory_id) > > > > > If I hardwire instead of trying to pass in x.directory_id I will > > > return the path correctly. But I need it for each item returned from > > > @editorials above loop. > > > > > I''m very green at Rails/Ruby. > > > > > Thanks.. > > > > > Sc- > > > > > On Jun 24, 6:53 pm, rubynuby <dear...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > > seems like you have some uninitialized vars. > > > > > > where is @editorials set? > > > > > > where does directory_id in @get_path > > > > Directory.full_path(directory_id) come from? > > > > > > On Jun 24, 3:07 pm, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > > > I''m running into an issue undefined local variable or method > > > > > `directoryid'' for #<EditorialsController:0x23f1bf8> > > > > > > > I have two Models on a legacy database and only one controller > called > > > > > editorials with two actions index and display. > > > > > I''m trying to pass in a parameter from the results of my search and > > > > > getting the above error. > > > > > > > Example: > > > > > two tables one is editorial the other fp_directory > > > > > > > Editorial Model > > > > > def self.date_range(from,to) > > > > > find(:all, :conditions => {:expiration_date => from..to }, > > > > > :order => ''expiration_date DESC'') > > > > > end > > > > > > > Directory Model > > > > > def self.full_path(directoryid) > > > > > find(:all, :conditions => { :j15c_directory_id => > > > > > "#{directory_id}" }) > > > > > end > > > > > > > I have a view that displays my form and submits output to display > > > > > controller all works until I add in one more piece. > > > > > > > Editorial Controller > > > > > def display > > > > > @get_path = Directory.full_path(directory_id) > > > > > end > > > > > > > Now my results are working fine until I add in this one piece to > get > > > > > the directory_id > > > > > > > <% for x in @editorials do %> > > > > > <%= x.directory_id %> > > > > > <% end %> > > > > > > > If I want to pass in the x.directory_id into > > > > > <%= @get_path(x.directory_id) > > > > > > > I get the undefined local variable or method `directoryid'' for > > > > > #<EditorialsController:0x23f1bf8> > > > > > > > I''m realizing its something to do with my scope but I''m failing to > > > > > find it. > > > > > > > thanks appreciate any pointers. > > > > > > > sc > > >-- -Chris --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Correct Editorial belongs_to :j15t_directory which is the table name I have my editorial.rb model with belongs_to :j15t_directory and my directory.rb model set to has_one :editorial no Foreign Keys.. Just made me think maybe I should be trying to get my find working with a Table include and do one retrieval? Going to look at your site. On Jun 25, 10:02 am, "Chris Johnson" <ch...-dAXfyQEfk+W1Z/+hSey0Gg@public.gmane.org> wrote:> Scott, > What is the relationship between your models? I''m guessing an editorial > belongs to a directory? Also I ran into some trouble like this when using a > legacy system because the "id" field was come weird name like > "CustomerContactSomethingStupidID" and so I had to set my model to specify > that field as the ID.http://pastie.org/221842is an example of what i did > for a set up in the model. > > I hope this helps, > -Chris > > > > On Wed, Jun 25, 2008 at 7:38 AM, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > Sorry about the post I had an older version and a new version open in > > Textmate and copied and pasted incorrect. This is my latest setup > > which I started over from scratch using the standard restful index and > > show for my views. I narrowed down my issue but not sure how to solve > > just yet. So even with this instance @get_path out of my view still > > get this error below. At least I''m understanding the error more now. > > > Error -- NameError (undefined local variable or method `directory_id'' > > for #<EditorialsController:0x2160fd8>): > > > Two Models > > directory > > def self.full_path(directory_id) > > find(:all, :conditions => { :j15c_directory_id => > > "#{directory_id}" }) > > end > > > editorial Model > > def self.date_range(from,to) > > find(:all, :conditions => {:expiration_date => from..to }, > > :order => ''expiration_date DESC'', :readonly => true) > > end > > > One Controller > > editorials_controller.rb > > > def index > > @time_today = Time.now.ctime() > > > respond_to do |format| > > format.html # index.html.erb > > format.xml { render :xml => @editorial } > > end > > end > > > def show > > start_date = "#{params[:editorial][:"from(1i)"]}- > > #{params[:editorial][:"from(2i)"]}-#{params[:editorial] > > [:"from(3i)"] }" > > end_date = "#{params[:editorial][:"to(1i)"]}-#{params[:editorial] > > [:"to(2i)"]}-#{params[:editorial][:"to(3i)"] }" > > @editorials = Editorial.date_range(start_date, end_date) > > > @get_path = Directory.full_path(directory_id) > > > respond_to do |format| > > format.html # show.html.erb > > format.xml { render :xml => @editorial } > > end > > end > > end > > > My Views > > > Index.html.erb > > > <h2>Input Date Range to form a Search</h2> > > <p> > > Todays Date and Time: <%= @time_today %> > > </p> > > <p> > > Please Enter a Start date and End date range to search for > > expiration dates. > > </p> > > <table> > > <% form_for :editorial, :url => {:action => ''show'' } do |form| %> > > <tr> > > <td>Start Date: <%= form.date_select :from %></td> > > <td>End Date: <%= form.date_select :to %></td> > > <td>Submit : <%= submit_tag "Search" %></td> > > </tr> > > <br /> > > <% end %> > > </table> > > > Show.html.erb > > <div id="expiration-list"> > > <p>Your search returned a Total of <%= @editorials.size %> file(s)</p> > > > <table> > > <% for x in @editorials do %> > > <tr valign="top" class="<%= cycle(''list-line-odd'', ''list-line-even'') > > %>"> > > <td><%= "File #{x.file_name} has an expiration date of > > #{x.expiration_date} Directory ID: #{x.directory_id}" %> > > > ******* This is the place I wanted to pass x.directory_id to > > @get_path(x.directory_id) But it seems even without this I get an > > error as soon as I hit submit from my index.html.erb page. My > > thoughts were to just loop over the @get_path array and just grab one > > field. > > > </tr> > > <% end %> > > <br> > > > </table> > > </div> > > > Thanks again and apologize for the sloppy posting... > > > On Jun 25, 4:13 am, Sebastian Staudt <korak...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > So @editorials is an array of Editorial (not of EditorialController). > > > So x is should be an Editorial too, but it seems it''s an > > > EditorialControler. > > > The error shows you try to call the method of the controller, not of > > > an instance of Editorial. > > > > But Frederick is right, you should show some more of the code, maybe > > > that would help. > > > > On 25 Jun., 04:44, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > @editorials is set in my EditorialsController > > > > actually line -- @editorials = Editorial.date_range(start_date, > > > > end_date) > > > > @editorials gets the start_date, and end_date from the passed in > > > > params during form submit. It then display''s my view which I have a > > > > for x in @editorials do loop which pulls in x.file_name - > > > > x.directory_id - x.record_id etc. So x.directory_id lives in my > > > > legacy editorial table. It''s then passed into the other command which > > > > hits my directory table. I''m assuming that is possible in the from the > > > > same view correct? > > > > > So The x.directory_id is what I tried passing to the > > > > @get_path(x.directory_id) > > > > > If I hardwire instead of trying to pass in x.directory_id I will > > > > return the path correctly. But I need it for each item returned from > > > > @editorials above loop. > > > > > I''m very green at Rails/Ruby. > > > > > Thanks.. > > > > > Sc- > > > > > On Jun 24, 6:53 pm, rubynuby <dear...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > > seems like you have some uninitialized vars. > > > > > > where is @editorials set? > > > > > > where does directory_id in @get_path > > > > > Directory.full_path(directory_id) come from? > > > > > > On Jun 24, 3:07 pm, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > > > I''m running into an issue undefined local variable or method > > > > > > `directoryid'' for #<EditorialsController:0x23f1bf8> > > > > > > > I have two Models on a legacy database and only one controller > > called > > > > > > editorials with two actions index and display. > > > > > > I''m trying to pass in a parameter from the results of my search and > > > > > > getting the above error. > > > > > > > Example: > > > > > > two tables one is editorial the other fp_directory > > > > > > > Editorial Model > > > > > > def self.date_range(from,to) > > > > > > find(:all, :conditions => {:expiration_date => from..to }, > > > > > > :order => ''expiration_date DESC'') > > > > > > end > > > > > > > Directory Model > > > > > > def self.full_path(directoryid) > > > > > > find(:all, :conditions => { :j15c_directory_id => > > > > > > "#{directory_id}" }) > > > > > > end > > > > > > > I have a view that displays my form and submits output to display > > > > > > controller all works until I add in one more piece. > > > > > > > Editorial Controller > > > > > > def display > > > > > > @get_path = Directory.full_path(directory_id) > > > > > > end > > > > > > > Now my results are working fine until I add in this one piece to > > get > > > > > > the directory_id > > > > > > > <% for x in @editorials do %> > > > > > > <%= x.directory_id %> > > > > > > <% end %> > > > > > > > If I want to pass in the x.directory_id into > > > > > > <%= @get_path(x.directory_id) > > > > > > > I get the undefined local variable or method `directoryid'' for > > > > > > #<EditorialsController:0x23f1bf8> > > > > > > > I''m realizing its something to do with my scope but I''m failing to > > > > > > find it. > > > > > > > thanks appreciate any pointers. > > > > > > > sc > > -- > -Chris--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
I believe I solved this or at least I understand the cause. My index page submits my form_data to my show view which calls the controller and queries for expired files @editorials Array. My view then extracts this data and I assumed I could then pass in info gathered from my array back to the controller which does not work. I did a test and placed my Directory.find_by_directory_id(x.directory_id).full_path directly in my view and things work fine. So that being said this is not clean at all to me and to put this in the view does make sense. I think I''m going to read up on Active Record and create a smarter query when that pulls from both legacy tables. If there is other directions that could be recommended let me know. Thanks for the responses/ On Jun 25, 11:29 am, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Correct Editorial belongs_to :j15t_directory which is the table name > I have my editorial.rb model with belongs_to :j15t_directory and my > directory.rb model set to has_one :editorial > no Foreign Keys.. > Just made me think maybe I should be trying to get my find working > with a Table include and do one retrieval? > Going to look at your site. > > On Jun 25, 10:02 am, "Chris Johnson" <ch...-dAXfyQEfk+W1Z/+hSey0Gg@public.gmane.org> wrote: > > > Scott, > > What is the relationship between your models? I''m guessing an editorial > > belongs to a directory? Also I ran into some trouble like this when using a > > legacy system because the "id" field was come weird name like > > "CustomerContactSomethingStupidID" and so I had to set my model to specify > > that field as the ID.http://pastie.org/221842isan example of what i did > > for a set up in the model. > > > I hope this helps, > > -Chris > > > On Wed, Jun 25, 2008 at 7:38 AM,scottc12<scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > Sorry about the post I had an older version and a new version open in > > > Textmate and copied and pasted incorrect. This is my latest setup > > > which I started over from scratch using the standard restful index and > > > show for my views. I narrowed down my issue but not sure how to solve > > > just yet. So even with this instance @get_path out of my view still > > > get this error below. At least I''m understanding the error more now. > > > > Error -- NameError (undefined local variable or method `directory_id'' > > > for #<EditorialsController:0x2160fd8>): > > > > Two Models > > > directory > > > def self.full_path(directory_id) > > > find(:all, :conditions => { :j15c_directory_id => > > > "#{directory_id}" }) > > > end > > > > editorial Model > > > def self.date_range(from,to) > > > find(:all, :conditions => {:expiration_date => from..to }, > > > :order => ''expiration_date DESC'', :readonly => true) > > > end > > > > One Controller > > > editorials_controller.rb > > > > def index > > > @time_today = Time.now.ctime() > > > > respond_to do |format| > > > format.html # index.html.erb > > > format.xml { render :xml => @editorial } > > > end > > > end > > > > def show > > > start_date = "#{params[:editorial][:"from(1i)"]}- > > > #{params[:editorial][:"from(2i)"]}-#{params[:editorial] > > > [:"from(3i)"] }" > > > end_date = "#{params[:editorial][:"to(1i)"]}-#{params[:editorial] > > > [:"to(2i)"]}-#{params[:editorial][:"to(3i)"] }" > > > @editorials = Editorial.date_range(start_date, end_date) > > > > @get_path = Directory.full_path(directory_id) > > > > respond_to do |format| > > > format.html # show.html.erb > > > format.xml { render :xml => @editorial } > > > end > > > end > > > end > > > > My Views > > > > Index.html.erb > > > > <h2>Input Date Range to form a Search</h2> > > > <p> > > > Todays Date and Time: <%= @time_today %> > > > </p> > > > <p> > > > Please Enter a Start date and End date range to search for > > > expiration dates. > > > </p> > > > <table> > > > <% form_for :editorial, :url => {:action => ''show'' } do |form| %> > > > <tr> > > > <td>Start Date: <%= form.date_select :from %></td> > > > <td>End Date: <%= form.date_select :to %></td> > > > <td>Submit : <%= submit_tag "Search" %></td> > > > </tr> > > > <br /> > > > <% end %> > > > </table> > > > > Show.html.erb > > > <div id="expiration-list"> > > > <p>Your search returned a Total of <%= @editorials.size %> file(s)</p> > > > > <table> > > > <% for x in @editorials do %> > > > <tr valign="top" class="<%= cycle(''list-line-odd'', ''list-line-even'') > > > %>"> > > > <td><%= "File #{x.file_name} has an expiration date of > > > #{x.expiration_date} Directory ID: #{x.directory_id}" %> > > > > ******* This is the place I wanted to pass x.directory_id to > > > @get_path(x.directory_id) But it seems even without this I get an > > > error as soon as I hit submit from my index.html.erb page. My > > > thoughts were to just loop over the @get_path array and just grab one > > > field. > > > > </tr> > > > <% end %> > > > <br> > > > > </table> > > > </div> > > > > Thanks again and apologize for the sloppy posting... > > > > On Jun 25, 4:13 am, Sebastian Staudt <korak...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > So @editorials is an array of Editorial (not of EditorialController). > > > > So x is should be an Editorial too, but it seems it''s an > > > > EditorialControler. > > > > The error shows you try to call the method of the controller, not of > > > > an instance of Editorial. > > > > > But Frederick is right, you should show some more of the code, maybe > > > > that would help. > > > > > On 25 Jun., 04:44,scottc12<scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > > @editorials is set in my EditorialsController > > > > > actually line -- @editorials = Editorial.date_range(start_date, > > > > > end_date) > > > > > @editorials gets the start_date, and end_date from the passed in > > > > > params during form submit. It then display''s my view which I have a > > > > > for x in @editorials do loop which pulls in x.file_name - > > > > > x.directory_id - x.record_id etc. So x.directory_id lives in my > > > > > legacy editorial table. It''s then passed into the other command which > > > > > hits my directory table. I''m assuming that is possible in the from the > > > > > same view correct? > > > > > > So The x.directory_id is what I tried passing to the > > > > > @get_path(x.directory_id) > > > > > > If I hardwire instead of trying to pass in x.directory_id I will > > > > > return the path correctly. But I need it for each item returned from > > > > > @editorials above loop. > > > > > > I''m very green at Rails/Ruby. > > > > > > Thanks.. > > > > > > Sc- > > > > > > On Jun 24, 6:53 pm, rubynuby <dear...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > > > seems like you have some uninitialized vars. > > > > > > > where is @editorials set? > > > > > > > where does directory_id in @get_path > > > > > > Directory.full_path(directory_id) come from? > > > > > > > On Jun 24, 3:07 pm,scottc12<scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > > > > I''m running into an issue undefined local variable or method > > > > > > > `directoryid'' for #<EditorialsController:0x23f1bf8> > > > > > > > > I have two Models on a legacy database and only one controller > > > called > > > > > > > editorials with two actions index and display. > > > > > > > I''m trying to pass in a parameter from the results of my search and > > > > > > > getting the above error. > > > > > > > > Example: > > > > > > > two tables one is editorial the other fp_directory > > > > > > > > Editorial Model > > > > > > > def self.date_range(from,to) > > > > > > > find(:all, :conditions => {:expiration_date => from..to }, > > > > > > > :order => ''expiration_date DESC'') > > > > > > > end > > > > > > > > Directory Model > > > > > > > def self.full_path(directoryid) > > > > > > > find(:all, :conditions => { :j15c_directory_id => > > > > > > > "#{directory_id}" }) > > > > > > > end > > > > > > > > I have a view that displays my form and submits output to display > > > > > > > controller all works until I add in one more piece. > > > > > > > > Editorial Controller > > > > > > > def display > > > > > > > @get_path = Directory.full_path(directory_id) > > > > > > > end > > > > > > > > Now my results are working fine until I add in this one piece to > > > get > > > > > > > the directory_id > > > > > > > > <% for x in @editorials do %> > > > > > > > <%= x.directory_id %> > > > > > > > <% end %> > > > > > > > > If I want to pass in the x.directory_id into > > > > > > > <%= @get_path(x.directory_id) > > > > > > > > I get the undefined local variable or method `directoryid'' for > > > > > > > #<EditorialsController:0x23f1bf8> > > > > > > > > I''m realizing its something to do with my scope but I''m failing to > > > > > > > find it. > > > > > > > > thanks appreciate any pointers. > > > > > > > > sc > > > -- > > -Chris--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Jun 25, 1:38 pm, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> def show > start_date = "#{params[:editorial][:"from(1i)"]}- > #{params[:editorial][:"from(2i)"]}-#{params[:editorial] > [:"from(3i)"] }" > end_date = "#{params[:editorial][:"to(1i)"]}-#{params[:editorial] > [:"to(2i)"]}-#{params[:editorial][:"to(3i)"] }" > @editorials = Editorial.date_range(start_date, end_date) > > @get_path = Directory.full_path(directory_id)You haven''t defined directory_id anywhere, therefore you get an error. The error message will even tell you it happened on this line. You''ll get going a lot quicker if you learn to read the error messages rails/ ruby generates. Fred --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Indeed I was aware but I was not understanding the why. I figured that out which if I was paying closer attention should have been very obvious. Oh well. I''m hitting the books to learn more about the routing, and calling of controllers. Need to take a few steps back before I can move forward. Thanks again though hopefully in the very short future I can answer questions.Thanks All On Thu, Jun 26, 2008 at 3:55 AM, Frederick Cheung < frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > > On Jun 25, 1:38 pm, scottc12 <scomb...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > def show > > start_date = "#{params[:editorial][:"from(1i)"]}- > > #{params[:editorial][:"from(2i)"]}-#{params[:editorial] > > [:"from(3i)"] }" > > end_date = "#{params[:editorial][:"to(1i)"]}-#{params[:editorial] > > [:"to(2i)"]}-#{params[:editorial][:"to(3i)"] }" > > @editorials = Editorial.date_range(start_date, end_date) > > > > @get_path = Directory.full_path(directory_id) > > You haven''t defined directory_id anywhere, therefore you get an error. > The error message will even tell you it happened on this line. You''ll > get going a lot quicker if you learn to read the error messages rails/ > ruby generates. > > Fred > > > >-- Scott Comboni President Zenplex Inc. 132 Pepes Farm Road Unit #6 Milford CT, 06460 --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---