Hom*_*ith 8 ruby controller ruby-on-rails request
为了能够看到用户是否在Facebook上共享了我的页面,我希望能够创建这种URL:
http://graph.facebook.com/?id=http://stylehatch.co/some_unique_user_token
Run Code Online (Sandbox Code Playgroud)
凡http://stylehatch.co将需要我的基本URL.我正在考虑在User模型中创建一个将构建并返回该URL的方法,但我无法从我的模型中访问root_url.
如何从模型中获取应用程序的基本URL?
如果我的网址看起来像这样:
http://myapp.com/users/new
http://myapp.com/users/2/show
Run Code Online (Sandbox Code Playgroud)
如何从我的模型中获取" http://myapp.com "?我已经添加了:
include Rails.application.routes.url_helpers
Run Code Online (Sandbox Code Playgroud)
在我的模型中,但似乎root_url是零.有什么想法吗?这是一个Model方法是正确的,还是应该将它放在帮助器中?
谢谢
ear*_*son 14
如果您想在模型中获取根URL,我所做的就是调用ENV变量.
如果您还没有,请继续在您的应用程序的根目录中创建.env,并在开发中设置为:
ROOT_URL=http://localhost
Run Code Online (Sandbox Code Playgroud)
在您的生产环境中设置:
ROOT_URL=https://mydomain.com
Run Code Online (Sandbox Code Playgroud)
当然这是硬编码的,所以陷阱是你需要记住在更改域时更改这一点,并且每个环境的文件必须不同.
并且确保这也存在于您的gitignore中,因为其他敏感数据将存储在此处.
在您的模型中,您可以通过以下方式调用:ENV ['ROOT_URL']
您可以使用环境变量:
ROOT_URL=http://myapp.com
Run Code Online (Sandbox Code Playgroud)
ENV['ROOT_URL']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17088 次 |
| 最近记录: |