我有一个Rails Engine和Rails应用程序,都运行Rails 6.0.0.rc1。
引擎使用ActiveStorage附件定义模型,例如
module Shop
class Product < ApplicationRecord
...
has_one_attached :image
has_many_attached :images
end
end
在引擎和应用程序视图中都使用此模型并尝试调用= url_for(product.image)
会引发异常undefined method 'attachment_path' for #<#<Class:XXX>:XXX>
。 product.image.attached?
返回true,因此可以使用附件。
此代码是从Rails应用程序中提取的,在这里工作得很好。是否有用于Rails Engine模型附件或文档中未提到的rails active_storage:install
以外的任何设置的特殊路由帮助器?
答案 0 :(得分:1)
我使用main_app.url_for(product.image)
完成了此工作!
在引擎视图和主要的Rails应用视图中均可使用。
答案 1 :(得分:1)
仅作为其他参考,您可以阅读有关此in the Rails Guides的更多信息。