2016-08-30 42 views
0

网站是在子目录/appRails的梅勒不拿起上的主机

在development.rb:

localhost/item/1,它应该:在邮件item_url(1)产生

config.action_mailer.default_url_options = { 
    host: 'localhost:3000/app' 
} 

网址是:localhost:3000/app/item/1

如何将localhost替换为localhost:3000/app

这是在Rails 4.1.15中。

+1

'/ app'不是有效的主机名组件。 – tadman

回答

0

使用script_name的伎俩:

config.action_mailer.default_url_options = { 
    host: 'localhost', 
    port: 3000, 
    script_name: '/app' 
} 
1

要在tadman的评论扩大...您的主机应该只拥有“localhost”的部分和一个单独的端口选项:

config.action_mailer.default_url_options = { 
    host: 'localhost', 
    port: 3000 
} 

至于下/应用使得应用负载:

config.relative_url_root = "/app" 

(见见Rails app in a subdirectory了解详细信息)

+1

该端口应该可以从'host:'中省略,因为它在'port:'中描述。 – ollpu

+0

良好的接收,谢谢@ollpu。 –

+0

主机和端口的作品。 'relative_url_root'不。越来越近 – Ruslan