如何将youtube框架添加到ERB文件

ten*_*cet 1 ruby youtube ruby-on-rails

我在post.url中有视频网址

如何添加youtube框架?

我用过这个

<% @posts.each do |post| %>

<iframe width="560" height="315" src= <%= \" post.url \"%>  

    frameborder="0" allowfullscreen>

</iframe> 

<% end %>
Run Code Online (Sandbox Code Playgroud)

并得到这个错误

语法错误,意外$ undefined ... reeze;
@ output_buffer.append =(\"post.url \");

我也用过

 src= <%= post.url %>  
Run Code Online (Sandbox Code Playgroud)

我没有看到任何东西

spi*_*ann 6

我不想将ERB标记与HTML标记混合,因此我建议使用content_tag辅助方法:

<% @posts.each do |post| %>
  <%= content_tag(:iframe, '', src: post.url, 
                   width: 560, height: 315, frameborder: 0) %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

甚至更好:在例如helpers/application_helper.rb:中定义辅助方法:

def youtube_frame(url)
  content_tag(:iframe, '', src: url, width: 560, height: 315, frameborder: 0)     
end
Run Code Online (Sandbox Code Playgroud)

并在您的视图中使用该方法,使代码更易读,更容易理解:

<% @posts.each do |post| %>
  <%= youtube_frame(post.url) %>
<% end %>
Run Code Online (Sandbox Code Playgroud)