Hello everyone, new rails developer wannabe here! I am trying to create a calendar table to display the daily availability of every staff member of a company. What I think I need is a header with the days of the month and then a row (with as many cells as the number of the days) for each staff member. The different background color of each cell will represent a different availability status and the staff members change so I want all this to be dynamically generated. After researching online and with Ryan Bates'' Railscast #213 - Calendars Revised (http://railscasts.com/episodes/213-calendars) as my guide, I have so far managed to generate the header of my table that displays the days of the month in each cell. module ReceptionHelper def reception(date = Date.today, &block) Reception.new(self, date, block).table end class Reception < Struct.new(:view, :date, :callback) delegate :content_tag, to: :view def table content_tag :table, class: "calendar" do daysHeader end end def daysHeader last_day = date.end_of_month.strftime("%d").to_i (0..last_day).to_a.map { |day| content_tag :th, day }.join.html_safe end end Now, here is where the questions and confusion begins: Removing &block and :callback takes away the { ... } functionality, as I found out. I can''t really say I understand why. Why does the above work but I can''t use (..).each do and the content_tag block below? (0..last_day).to_a.each do |day| content_tag :th do day end end In my effort to display the rows for each staff, I first went with this: def table content_tag :table, class: "calendar" do daysHeader + staffRows end end def staffRows staff.to_a.map { |staff| content_tag :tr, staff.name }.join.html_safe end I added staff to the Reception class definition and I call with <%reception @staff %> - if that''s not a very good practice please feel free to shout at me But instead of getting one row per staff member I get all the member names next to each other in one row and right above the header. Changing content_tag :tr to content_tag :td results in a cell with the name of each staff after the last header cell. Afterwards, I made some progress with this: (0..last_day).to_a.each do |day| content_tag :th do day end end However this produces only one cell for each room while I want a row with as many cells as the header row. As you understand, I am quite lost in this and it seems I am not even clearly getting why the part that works as I want it to is correct. I hope this post doesn''t give the impression that I am looking to have everything served to me in a dish - I am rather looking for directions that will help me understand. P.S: I have posted a question on StackOverflow (http://stackoverflow.com/questions/14985822/quite-new-rails-developer-confused-over-content-tag-and-helpers) if you want to answer there and get some points. -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.