Having trouble setting up my View Page to only show Specific Data?

12 views
Skip to first unread message

Todd TWdeveloper

unread,
Jan 2, 2014, 12:24:05 PM1/2/14
to rubyonra...@googlegroups.com
Hello,

In my view (index.html) I have a table that calls all of my projects.
<% @projects.each do |project| %>

I created 2 methods in the Model, project.late? and project.dueSoon?
In these methods I used If Then Elsif Else Blocks to form my logic, all
based on a bunch of my date fields which determine if the project is
late or dueSoon.

I have also created a class that takes the Late and due soon methods and
adds a Color-Background style if the Specific project is valid.
<% colorClass = project.late? ? "late" : project.dueSoon? ? "dueSoon" :
"ok" %>

<td class=<%= colorClass %>><%= link_to project.product, project %></td>

All this works great in my index View. My goal now is to create a 2nd
View, delinquent.html.erb page that only returns the project(s) of
Projects.project that are Late or dueSoon.

If someone could assist me with this that would be great.

Thank You.

--
Posted via http://www.ruby-forum.com/.

iShoeYou

unread,
Jan 3, 2014, 3:29:23 AM1/3/14
to rubyonra...@googlegroups.com
I would use scopes for late or "due soon" projects.

class Project < ActiveRecord::Base
  scope :late, -> { where("some_time_attr > ?", Time.now) }
end

So, then you can call the following in your Controller:

@projects = Project.late
Reply all
Reply to author
Forward
0 new messages