delegating some logic in to models methods might help. On Feb 6, 12:16 pm, regedarek <dariusz.fins...@gmail.com> wrote: > Hi, I have in my controller action book, but it looks ugly. How to refactor > its right way? > > def book > > > > > > > > > if params[:date].present? && params[:room].present? && current_user > > room = Room.find_by_id(params[:room]) > > date = DateTime.strptime(params[:date],"%d-%m-%Y-%H-%M") > > unless date > Date.today+8.days || date.past? > > unless > > Book.user(current_user.id).room(room.id).period(room.period).first > > unless > > Book.room(room.id).free(date,date+room.duration.minutes).first > > stop = (date+room.duration.minutes).strftime("%H:%M") == > > "00:00" ? "23:59" : (date+room.duration.minutes).strftime("%H:%M") > > unless > > Book.room(room.id).cyclic.dayoftheweek(date.wday).onlytimefree(date.strftime("%H:%M"),stop).first > > redirect_to list_books_path(:room=>room) > > else > > flash[:error] = "Obiekt #{room.name} is reserved each week" > > end > > else > > flash[:error] = "Obiekt #{room.name} is not availible" > > end > > else > > flash[:error] = "Obiekt #{room.name} can be reserved once on few > > days" > > end > > else > > flash[:error] = "wrong date" > > end > > else > > flash[:error] = "no raservation parameters" > > end > > end
-- 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.