How to handle the "\b" (the backspace character) in your Rails application?

8 views
Skip to first unread message

Paul McMahon

unread,
Jun 4, 2018, 5:56:59 AM6/4/18
to Ruby on Rails: Talk
Somehow, users sometimes enter "\b" (the backspace character) into our web forms.For the sake of example, say they enter in "Foo\bbar" into a form.

This then gets saved to the database as is "Foo\bbar". When I later include this in my html, it gets added as is (so my html contains "Foo\bbar"). However, the browser renders it as "Foobar". This seems to match the users intention (they want to display "Foobar"), and so they leave it as is. The only way a user might notice this is if they try and copy and paste the displayed text, they'll get "Fobar" (the backspace character is applied).

I bring this up as an issue as PayPal crashes if you try to create a charge with "\b" in their memo field.

I'm wondering how our application should handle this. My first instinct was to just strip them from the model attribute that's being to create a charge with PayPal, resolving my immediate issue. However, that got me wondering, should I just strip this character from all my models, and in that case, would this make sense as a Rails feature?

fugee ohu

unread,
Jun 4, 2018, 6:29:24 AM6/4/18
to Ruby on Rails: Talk
sanitize helper in views so it'll be stripped out before being rendered and they're not gonna be allowed to use it as input, i guess you could use it on your params in any controller too no?

fugee ohu

unread,
Jun 4, 2018, 6:30:31 AM6/4/18
to Ruby on Rails: Talk


On Monday, June 4, 2018 at 5:56:59 AM UTC-4, Paul McMahon wrote:
You don't want to accomodate them in allowing them to input the special character do you? 

Paul McMahon

unread,
Jun 4, 2018, 7:10:47 AM6/4/18
to Ruby on Rails: Talk
On Monday, June 4, 2018 at 7:30:31 PM UTC+9, fugee ohu wrote:
You don't want to accomodate them in allowing them to input the special character do you? 

There's no reason I can see of in our app (or almost any Rails app) you'd want to allow the "\b" character as user input.
Reply all
Reply to author
Forward
0 new messages