做错了auto_html gem?

时间:2012-11-14 20:10:37

标签: ruby-on-rails gem

我正在尝试使用auto_html gem将提交的youtube链接转换为嵌入链接。我没有得到auto_html的任何回复。我确定这是一件我想念的简单事情吗?

在我的Gemfile中:

gem "auto_html"

我添加了:video_html列到我的链接模型。 (这是迁移文件)

class AddVideoHtmlToLink < ActiveRecord::Migration
  def change
add_column :links, :url_html, :string
  end
end

我的scheema.rb看起来像这样:

  create_table "links", :force => true do |t|
t.integer  "user_id"
t.string   "url"
t.string   "title"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string   "url_html"

我的link.rb模型如下所示:

class Link < ActiveRecord::Base
  belongs_to :user
  belongs_to :admin
  has_many   :comments
  has_many   :votes

  validates :title, :url, :presence => true


  attr_accessible :title, :body, :url, :user_id, :url_html


  auto_html_for :url do
    html_escape
    image
    youtube(:width => 400, :height => 250)
    vimeo(:width => 400, :height => 250)
    link :target => "_blank", :rel => "nofollow"
    simple_format
  end
end

在我的index.html.haml视图中,我得到了:

%p
  = link_to link.title, link.url_html, :class => "youtube title_link"

现在,当我通过控制台提交时:

Link.create(:title => 'test', :url => 'http://www.youtube.com/watch?v=a2LFVWBmoiw')

我刚刚得到这个返回,我没有得到:url转换为嵌入代码,如github页面上的示例(https://github.com/dejan/auto_html)

知道我错过了什么吗?非常感谢任何正确方向的帮助或指示!

1 个答案:

答案 0 :(得分:1)

您将video_html作为参数传递,您应该传递视频。在控制台中试试这个:

Link.create(:title => 'test', :url => 'http://example.com', :video => 'http://www.youtube.com/watch?v=a2LFVWBmoiw')