From: shawn bright Date: 2006-11-25T11:22:54+09:00 Subject: Re: frustrated with rails has_many problem ------=_Part_441_28585310.1164421370049 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 11/24/06, ao tianlong wrote: > > you can do this: > > <%= link_to "site notes", :action => "list", > :id => @site.id, # here will using @site.id > :controller => 'site_notes' %> > > and in the site_notes_controller.rb i have this > > def list > @site = Site.find(params[:id]) > @site_notes = @site.site_notes # if you use has_many association you > can > just write this > @site_note_pages, @site_notes = paginate :site_notes, :per_page => 10 > end > > > 2006/11/25, shawn bright : > > > > On 11/24/06, shawn bright wrote: > > > > > > ok, how ? > > > > > > On 11/24/06, Chris Carter wrote: > > > > > > > > You need to do that by hand, sorry. > > > > > > > > On 11/24/06, shawn bright wrote: > > > > > > > > > > hello there all, > > > > > > > > > > i am writing a website in rails, i love it, but i am banging my > head > > > > here > > > > > . > > > > > > > > > > ok, i have a table called sites ( means customer sites ) > > > > > each site has_many :site_notes > > > > > so, site_note belongs_to :site > > > > > > > > > > i used a scaffold to generate the site notes files. site notes > work > > > > kinda > > > > > like comments to a blog. > > > > > a customer has sites and for each site, i want him to be able to > > post > > > > > notes > > > > > about what what his machines are doing. > > > > > > > > > > so, my link to the sites controller looks like this. > > > > > <%= link_to "site notes", :action => "list", > > > > > :id => @site, > > > > > :controller => 'site_notes' %> > > > > > > > > > > and in the site_notes_controller.rb i have this > > > > > def list > > > > > @site = Site.find(params[:id]) > > > > > @site_notes = SiteNote.find(:all, :conditions => ["site_id", @ > > > > site.id > > > > > ]) > > > > > @site_note_pages, @site_notes = paginate :site_notes, > :per_page > > => > > > > 10 > > > > > end > > > > > > > > > > everything seems to work, it lists the right notes, i can edit and > > > > delete > > > > > them etc.. > > > > > but when i try to add a new one, it tells me that it cannot find a > > > Site > > > > > without an id. > > > > > so, i guess i need to know how to put something either in the > model > > or > > > > > controller, (or view, whatever works) > > > > > that will automatically add site_id = @site.id when i create a new > > > note > > > > > > > > > > thanks > > > > > sk > > > > > > > > > > > > > > > > > > > > > > -- > > > > Chris Carter > > > > concentrationstudios.com > > > > brynmawrcs.com > > > > > > > > > > > > > > so, in my situation, would i need to keep passing the Site.id (or, for > the > > site_notes table, site_id) as a variable from action to action in the > > controller? > > > > thanks > > sk > > > > thanks, that helped a lot, i am able to move around the controller passing > @site to each next action, and putting it in the form as a hidden field. > Thanks for the tip there sk ------=_Part_441_28585310.1164421370049--