Rails - truncate - is not behaving--- Using a var returned from the model

Here is the truncate code I’m using:

<%= truncate(teammember.user.full_name, :length => 8)%>

teammember.user.full_name returns names like:

  • Steve Jobs
  • Larry Oracle
  • James B.
  • Dhandar Kentavolv

Butall the truncate is doing is returning:

  • Steve Jobs…
  • Larry Oracle…
  • James B…
  • Dhandar Kentavolv…

The user.full_name is not a field in the DB but a helper in the user
model, which might be the issue.?

def full_name
if !fname.nil? && !fname.empty?
[fname, lname].join(" “)
else
[‘User’, id].join(” ")
end
end

I then tried:
<%= truncate(“Once upon a time in a world far far away”, :length =>
1)%>
And that returns: Once… and not O…

Any ideas? thanks!

i am not sure but try this

truncate(“Once upon a time in a world far far away”, :length => 17,
:separator => ’ ') or

write the outputs examples which you want to come

On Mon, Oct 11, 2010 at 1:45 AM, nobosh [email protected] wrote:

Butall the truncate is doing is returning:
if !fname.nil? && !fname.empty?

For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.


Thanks:
Rajeev sharma

strange. that didn’t work…Or have any effect on the output…

The output examples I want:

<%= truncate("#{teammember.user.full_name}", :length => 5) %>

When full_name return “John Legend”

Should return: John…

Example 2, full_name = Howard Smith

Should return: Howar…

Very strange bug this is… Is the truncate method reliable? thanks

On Oct 11, 8:14 am, nobosh [email protected] wrote:

strange. that didn’t work…Or have any effect on the output…

Then maybe the code you’re editing isn’t actually the code that’s
being run. Stick a breakpoint in your code and follow the flow when
truncate is called.

Fred

Actually, the :separator parameter is only supported by the newer
version of Rails. For instance, the :separator has no effect in Rails
2.3.4.