Rails 5从远程URL加载HTML
问题描述:
在服务器端使用Rails 5,因此无需使用Ajax/jQuery,也无需使用iFrames,我可以将HTML从远程域加载到视图中吗?Rails 5从远程URL加载HTML
例如,在我看来home.html.erb我愿做类似的东西:
<div id="remote_content">
<%= render "https://www.example.com/index.html" %>
</div>
我知道我可以使用Ajax对于这一点,但因为它是远程域,我得到进入跨域问题。
答
更新 这里是我工作。感谢@ court3ney建议将ajax用于我自己的控制器,然后在控制器中使用http库。我决定使用HTTParty。
CoffeeScript的
user_id = $('#user_id').text()
$("#widget").load('/users/' + user_id + '/widget')
控制器
def show
...
end
def widget
@user = User.find(params[:id])
@widget = HTTParty.get('https://www.example.com/[email protected]', timeout: 10)
render :layout => 'blank'
end
显示视图
...
<div id="widget"></div>
...
小工具中查看
<%= raw(@widget) %>
路线
get 'users/:id/widget' => 'users#widget'
什么''
我已经更新了“不使用iframe”的问题 – Ryan