If you can login from the shell as root without a password, then my first guess would be that you must not appear to MySQL as coming in on the localhost domain when you do that. This sounds like something you should continue to investigate and get straightened out.
Only if I want my application to work
Having said that…
For a quick ‘fix’, have you tried just doing a grant to that user?
grant all on database_name.* to ‘root’@‘localhost’
Just tried it and same response. access denied …root@localhost…using password ‘no’
I rebooted mysql so I can confidently rule that out. Next step is to upgrade to 4.x, since Rails recommends at least 4.