それで、私はウェブサイトを作成しています。そのウェブサイトでは、人々はリンクを投稿できます。リンクが何であるかに応じて、投稿のレンダリングが異なります。たとえば、youtube.com/somevideo へのリンクを含む投稿は、埋め込まれたビデオをレンダリングします。JPG で終わるリンクはその画像を表示します。
私は私の見解で次のように書いています
<% link_type = extract_content_from_url(post.link) %>
<div class ="preview_of_post">
<% if post.link %>
<% if link_type == "youtube" %>
<%= youtube_embed(post.link) %>
<% end %>
<br />
<%= link_to (post.link), (post.link) %>
<% end %>
そして私のヘルパーには、これがあります:
module PostsHelper
def extract_content_from_url(url)
if url != ""
unless url.include?("http://")
post.link = "http://#{post.link.downcase}"
end
else
return "nil"
end
if url.include? == "youtube.com/watch" #youtube link
return "youtube"
end
if File.extname(url) == ".gif" || File.extname(url) == ".jpg" ||
File.extname(url) == ".png" || File.extname(url) == ".jpeg"
return"picture"
end
end
def youtube_embed(youtube_url)
if youtube_url[/youtu\.be\/([^\?]*)/]
youtube_id = $1
else
youtube_url[/^.*((v\/)|(embed\/)|(watch\?))\??v?=?([^\&\?]*).*/]
youtube_id = $5
end
render(:inline=> "<iframe title='YouTube video player' width='640' height='390' src='http://www.youtube.com/embed/#{ youtube_id }' frameborder='0' allowfullscreen></iframe>")
end
end
コードを実行すると、次のエラーが発生します。
助言がありますか?ありがとう。