Simple IF Statement help please

Hi all, I am a newbie trying to solve a simple IF statement problem in my
show view. The code below is all about the station attribute where it has
data which is either 'NMC' or 'NMN'. I want the view to show 'by new mill
central if 'NMC' is true, but this does not work well as sometimes it show
the wrong paragraph someone please help thanks

[code]
<p>
  Station:
  <% if @train_time.station = "NMC" == true %>
  <p>By New Mills Central</p>
  <% else %>
  <p>By New Mills Newtown</p>
  <% end %>
</p>

[/code]

Hi,

The following code seems to be more accurate to achieve what you want to do.

Station: <% if @train_time.station == "NMC" %>

   <p>By New Mills Central</p>
   <% else %>
   <p>By New Mills Newtown</p>
   <% end %>

Thanks & Regards,
Dhruva Sagar.

Hi Mr Sagar,

Yesterday i tried the code you helped me with which was:

  @bus_time = BusTime.find(:first, :order => "time", :conditions => ["time

= ? AND weekday = ?", Time.now,Date::DAYNAMES[Date.today.wday]])

When this has to show 00:00:00 which is 12.00am it shows as nil and breaks
my app. So in the view i did this @bus_time.time.strftime("%H:%M") unless
@bus_time.time.nil?

How do I show 00:00:00

Dhruva Sagar wrote:

Hi,

Please tell me what values are you storing in the database for this ‘time’ field ?

If your storing just %H:%M:%S values then I think you should be using this as your find query :

@bus_time = BusTime.find(:all, :order => “time”, :conditions => ["time

= ? AND weekday = ?", Time.now.strftime(’%H:%M;%S’), Date::DAYNAMES[Date.today.wday]])

So that the comparison is made appropriately in the SQL.

Thanks & Regards,

Dhruva Sagar.

BTW %H:%M:%S should show 00:00:00 time as well if that is what it is since %H is for 24 hour time and so on.

Thanks & Regards,
Dhruva Sagar.

Hi Mr Sagar,

I ran that query in my console and it returned an array of times etc so i
will post one line to you which is:

#<BusTime id: 97, weekday: "thursday", time: "2000-01-01 11:29:00",
created_at: nil, updated_at: nil>

Dhruva Sagar wrote:

Hi Mr Sagar,

I ran that query in my console and it returned an array of times etc so i
will post one line to you which is:

#<BusTime id: 97, weekday: "thursday", time: "2000-01-01 11:29:00",
created_at: nil, updated_at: nil>

Dhruva Sagar wrote:

Terry6004 wrote:

There is no time of day class in ruby, the Time class (confusingly)
includes the date, which seems to be set to 2000-01-01 if only a time
of day is provided. Either you must cope with this in your
application or you must store the time of day in some other form such
as integer seconds into the day or as a string for example.

Colin

good taime iam maryam my phone has danger there is iran i not wey

In the create action of the controller where you create your bus_time record, I would suggest you to do this . Please change the following code as per your application code.

params[:bus_time][:time] = Date.parse(params[:bus_time][:time])

The above code will ensure that the appropriate Date is created from the input time (appending today’s date to it).

Secondly you need to get your query back to how it was with Time.now being used instead of what I had changed it to.

But in your view you should be doing @bus_time.time.strftime(’%H:%M:%S’) if @bus_time.time.

That should output 00:00:00 appropriately when it is that.

Thanks & Regards,

Dhruva Sagar.

There is no worry about creation as all i am trying to do is to read
information created from the database. I inputted the data via sql
statements which was quicker as i have so many records I will not be
creating any new records all I need to do is display it, but displaying all
those records is proving to be difficult as there are so many records and
scaffolding does is not appropriate for views I am getting:

monday time
monday time
monday time
tuesday time
tuesday time
tuesday time

It is a nightmare....

Dhruva Sagar wrote: