首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用引擎时,如何在模型中找到资源路径?

在使用引擎时,如何在模型中找到资源路径?
EN

Stack Overflow用户
提问于 2015-08-21 03:58:34
回答 1查看 303关注 0票数 2

在使用Rails电子商务引擎Spree时,我试图将products_path保存在我的Spree::Product模型中以供跟踪。

Looking on SO I found this solution, which looked like the perfect answer.

代码语言:javascript
复制
Rails.application.routes.url_helpers.products_path
Rails.application.routes.url_helpers.products_url(:host => "example.com")

但使用该解决方案会给我带来以下错误。

代码语言:javascript
复制
NoMethodError: undefined method `products_path' for #<Module:0x007fe9e208e908>

很多挫败感...

EN

回答 1

Stack Overflow用户

发布于 2015-08-21 03:58:34

在使用Rails引擎时,您需要使用引擎的路由助手,而不是主Rails应用程序的路由助手。

代码语言:javascript
复制
Spree::Core::Engine.routes.url_helpers.products_path
Spree::Core::Engine.routes.url_helpers.products_url(:host => "example.com")

奖励提示:

如果您想要删除:host => "example.com"参数,可以在环境配置文件中添加主机指示器。

就像url_helpers一样,对于引擎,您需要在引擎路由下添加默认值。

代码语言:javascript
复制
# in config -> environments -> development.rb

Spree::Core::Engine.routes.default_url_options[:host] = 'localhost:3000'

注意:此不会为Rails.application.routes.url_helpers设置默认主机;-)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32127234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档