hi, i'm working on an idea of mine using ruby on rails but totally stumped with the has_many :notes, belongs_to :users in ruby could someone explain this to me? basically every user will be able to create many notes (notes being a record with a body text field), but those individual notes will only relate to the user who created them. so joe won't be able to see sally's note records how do i do this? can anyone point me to an easy example, done the authentication and everything else, just can't get my head around this one. appreciate it, John. -- View this message in context: http://www.nabble.com/joining-notes-to-users--tf41... Sent from the RubyOnRails Users mailing list archive at Nabble.com.
on 2007-07-18 07:21
on 2007-07-18 07:36
Hi! By what i can understand is "Creator alone see his/her own notes". For this you need to store creator_id or user_id in the notes table ans wherever you are displaying the notes just check if the note if from the user who has logged in. So, say session[:id] is having the id of the user who has logged in and in the rhtml somewhere you are having, @notes as collection of notes then while displaying you can write <%for note in @notes <%if note.user_id == session[:id]%> Show notes data here <%end%> <%end%> Hope this helps, :) Thanks and regards, Swanand
on 2007-07-18 09:22
if you just want to display the notes specific to the currently logged in user, you'd just use something like this (assuming current_user returns the currently logged in user): in your model: user.rb class User < ActiveRecord::Base # each user will have many notes, each note will be associated with # a user through a user_id column in the notes table has_many :notes end note.rb class Note < ActiveRecord::Base # a note belongs to a single belongs_to :user end in your controller: def notes #retrieve all the notes for the currently logged in user @notes = current_user.notes end and in your view: <% for note in @notes %> <%= note.title %> <%= note.body %> .... <% end %> Mike
on 2007-07-31 12:19
Thanks Mike and Swanand, helped me out of a jam at the 11th hour. Appreciate it, John.