ruby-on-rails - Rails - 如何在模型中获取完整的 URL

标签 ruby-on-rails

在我的 Rails 5 应用程序中,我试图获取我的实例的完整 URL,但是当我尝试使用 url_for 时正如这个 SO 问题中所建议的,我得到一个错误,NoMethodError: undefined method 'url_for' for #<Product:0x8646fc0> .

Full URL with url_for in Rails

def get_url
  url = url_for(self)
end

我也试过product_url(self)并收到类似的错误。

为我的实例获取 URL 的正确方法是什么?谢谢!

最佳答案

辅助方法仅在 View 或装饰器中可用。 最好在装饰器中定义 get_url

如果你想在模型中使用辅助方法,试试这个

def get_url
  Rails.application.routes.url_helpers.product_url(self)
end

关于ruby-on-rails - Rails - 如何在模型中获取完整的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42572682/

相关文章:

ruby-on-rails - ruby rails : Problem adding Transient Attribute to Object for JSON Serializaton

ruby-on-rails - Rails webpacker.yml,extract_css 选项

ruby-on-rails - 使用 Rspec 对 Rails 4 可安装引擎进行测试 View

python - 是否有像 python.mirocommunity.org (python) 这样的 Ruby 站点?

mysql - Ruby on Rails,乘客收到握手错误

ruby-on-rails - 尝试通过 ubuntu WSL 终端在 rails 上安装 ruby​​ 时出现多个错误

ruby-on-rails - Ruby 中 Tenerary 的简单 if 语句

ruby-on-rails - 将变量插入数据属性

javascript - 限制 rails 路线仅在内部调用

javascript - Rails 远程呈现一个 json 页面并且 JS ajax 处理程序没有捕获