Если /home/username/public_html/subdom
уже существует в качестве каталога, символическая ссылка не заменяет каталог: вместо этого вы получаете /home/username/public_html/subdom/public
в качестве символической ссылки, указывающей на /home/username/rails_app/myapp
.
Поскольку кажется, что вы действительно хотите заменить символьную ссылку /home/username/public_html/subdom
, вы должны сначала удалить каталог /home/username/public_html/subdom
перед запуском ln -s /home/username/rails_app/myapp /home/username/public_html/subdom
.