Styling rails elements


#1

I’m having some trouble with styling my views.

Here is a particular snippet that I think illustrates well:

<%= @tour_request.booked_datetime ? "Confirmed For: #{@tour_request.booked_datetime_string} ":"Date and time requested: #{@tour_request.daterequested} | #{@tour_request.preferredtime_string} Alternative date and time requested: #{@tour_request.altdaterequested} #{@tour_request.preferredtime_string}" %>

That will prevent the page from loading, showing a custom error screen.

But this, will display fine:

<%= @tour_request.booked_datetime ? "Confirmed For: #{@tour_request.booked_datetime_string} ":"Date and time requested: #{@tour_request.daterequested} | #{@tour_request.preferredtime_string} Alternative date and time requested: #{@tour_request.altdaterequested} #{@tour_request.preferredtime_string}" %>

The only difference is on the first example I had #{@tour_request.booked_datetime_string} and the
second I had #{@tour_request.booked_datetime_string}

I know I could just do <%=
@tour_request.booked_datetime_string %> but this field won’t always be
displaying, so I need to find a way to make whichever that particular
tour has filled out showing, whether it’s booked_datetime_string,
tour_request.daterequested, preferredtime_string or altdaterequested

Would appreciate any help!


#2

On 6 Jan 2009, at 20:54, Ryan O. wrote:

Alternative date and time requested:
#{@tour_request.altdaterequested}
#{@tour_request.preferredtime_string}"
%>

That will prevent the page from loading, showing a custom error
screen.

At a basic level that code boils down to

“blahblahblah"red"blabblahblah”

which isn’t syntactically correct (quotes in strings need to be escaped)

Fred


#3

I think the first doublequote around “red” is terminating the string in
the first part of your ? : expresion. If it were me, I’d verbose that
out some:

<% if @tour_request.booked_datetime then %>

Confirmed For: <%= @tour_request.booked_datetime %>

<% else %>

Date and time requested: <%= @tour_request.daterequested %>

<% end %>

That way you’re not so much mixing the markup & the ruby, which always
winds up confusing me.

Also–having .booked_datetime and .booked_datetime_string methods seems
odd–consider writing a format_date helper to use to make dates pretty
if you need to get fancy.

HTH,

-Roy