我有一个RubyonRails公共嵌入式Shopify应用程序,托管在Heroku上。我正试图通过应用程序代理将应用程序中的页面显示在Shopify商店的前端。我已经在我的应用程序设置中设置了应用程序代理配置,但我只能显示应用程序公用文件夹中的文件。但是,它们并不嵌入Shopify主题中。
我不能修改. htaccess文件来设置内容类型为应用程序/液体,因为该应用程序托管在Heroku上。我尝试使用控制器操作渲染文件,并在那里设置内容类型:
def send
filename = File.join(Rails.root, "/public/test.html")
send_file(filename, :filename => "test.html", :type => 'application/liquid', :disposition => "inline")
end
但是控制器似乎根本不被应用代理识别。因此,我也不能使用控制器来呈现html.erb文件。我到底应该如何从我的rails应用程序中获取html.erb页面(或HTML页面)来显示在我的shop ify主题中?
我让它工作了。我的设置有几个问题。发送操作在Shopify控制器(ShopifyApp::AuthenticatedController)中使用时有效,但在继承自ApplicationController的控制器中使用时,相同的操作返回了“错误数量的参数(给定1,预期为0)”错误。修复方法是使参数成为操作的可选参数。我将“def send”更改为“def send(blank=nil)”。另外,我发送的是一个html文件,而不是一个液体文件。