所以这是我的观点,我尝试遵循一些教程并最终从http://8raystech.com/2011/11/28/how-to-create-embeddable-widgets-with-rails阅读所有参考资料
我花了将近 2 天的时间来寻找我显然在某个地方犯的小错误,因为我是 ruby on rails 的新手。我认为这可能是一个路由错误,因为当我通过 Chrome 检查元素时,我看到以下错误: 编辑:
"GET http://localhost:3000/widget 500 (Internal Server Error)"
我拼命尝试了很多东西,但这是我当前的代码:
我的小部件控制器如下所示:(widget_controller.rb)
class WidgetController < ApplicationController
def show
@content = render_to_string(:partial => 'widget/embed', :layout => false)
end
end
我使用 javascript (show.erb.html) 的视图
(function() {
document.write(<%= @content.to_json %>)
})()
我认为部分并不重要,但这里有一个例子:(_embed.erb.html)
<style>...</style>
<div class="widget-communication">
<div>Bla bla bla</div>
...
</div>
最后,在 routes.rb
...
match 'widget', to: 'widget#show'
...
所以我在本地进行了测试以使用以下方法加载我的小部件:
<script src="http://localhost:3000/widget" type="text/javascript"></script>