首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NoMethodError rails

NoMethodError rails
EN

Stack Overflow用户
提问于 2013-06-05 05:41:47
回答 1查看 72关注 0票数 0

我正在建立一个副项目的rails应用程序。我正在尝试实现的一个功能是一个text_field,用户在其中提交一个youtube链接,然后创建一个嵌入的视频显示在他们自己的页面上。当我转到/ NoMethodError /2时遇到了用户,我希望你们能帮我一个新手:

/users/show.html.erb

代码语言:javascript
复制
<h1>Users#show</h1>
<p>Find me in app/views/users/show.html.erb</p>

<%= render partial: 'shared/track_form' %>

views/shared/_track_form.html.erb:

代码语言:javascript
复制
<%= form_for(@track) do |f| %>
<div class="field">
    <%= f.text_area :content, placeholder: "Upload a youtube song URL..." %>
</div>
<%= f.submit "Post", class: "btn btn-large btn-primary" %>

错误:undefined method 'model_name' for NilClass:Class

track.rb

代码语言:javascript
复制
class Track < ActiveRecord::Base
  attr_accessible :content
  belongs_to :user

  validates :content, presence: true
end

我有一个跟踪控制器,但我认为它正在尝试使用用户控制器。

更多的代码或信息,你需要让我知道,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-06-05 17:13:58

你面临着什么问题??如果您的问题只与NoMethodError有关,那么请让我知道更多细节,比如它何时发生以及错误报告,即控制台部分。

如果你的问题出在youtube part上,这就是你的答案:

代码语言:javascript
复制
<iframe width='450' height='250' src='youtube_source' frameborder='0' allowfullscreen></iframe> 

在视图部件中输入以下代码,并用您的youtube_url替换youtube_source

如果您直接从url区域使用youtube url,那么您必须对url进行一些自定义。

例如。

来自url区域的普通youtube url:

代码语言:javascript
复制
http://www.youtube.com/watch?v=h5euwZEE4Mo

在iframe标签中,我们需要这样的url:

代码语言:javascript
复制
http://www.youtube.com/embed/h5euwZEE4Mo

您可以在这两个链接(embed和watch?v)中看到区别。

基本上,两个链接中都有一件事是骗人的,即h5euwZEE4Mo末尾的代码。所以你需要从url中提取这段代码,为了提取你可以使用的代码。

代码语言:javascript
复制
video_url = (/([\w-]{11})/.match(url)).to_s

然后你可以在iframe中使用这个url链接这个。

代码语言:javascript
复制
<iframe width='450' height='250' src='http://www.youtube.com/embed/<%=video_url%>' frameborder='0' allowfullscreen></iframe>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16927985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档