(针对该用户)已经提出并回答了这个问题,但我自己的经历有所不同。
第一个:Rails 4.0.4、Ruby 2.1.0、Dragonfly gem 1.0.5。
我正在使用 Dragonfly gem 在此 Rails 4 博客应用程序上上传图像,并且遇到图像似乎是通过模型保存的问题(在本地,在默认公共文件夹中,至少:尚未使用在线文件存储),但未出现在文章显示页面中。需要明确的是,页面加载并显示损坏的图像链接。
在 Rails 控制台中查询特定文章的详细信息会得到以下 NoMethodError :
NoMethodError: undefined method `dragonfly_accessor' for #<Class:0x00000108bc17f0>
from /Users/user/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/dynamic_matchers.rb:22:in `method_missing'
我检查了 gem 正在加载。Dragonfly 的设置就是他们网站上提供的。我已经在 initializers 文件夹中生成了 dragonfly.rb 文件。以下是我对随文档提供的设置的改编:
(型号)article.rb:
class Article < ActiveRecord::Base
dragonfly_accessor :image # Defines reader/writer for uploaded images
# validators, etc...
移民:
class AddImageToArticle < ActiveRecord::Migration
def change
add_column :articles, :image_uid, :string
add_column :articles, :image_name, :string
end
end
显示.html.erb
<%= image_tag @article.image.thumb('400x200#').url if @article.image_stored? %>
articles_helper.rb(我保留强参数的权限):
module ArticlesHelper
def article_params
params.require(:article).permit(:title, :body, :tag_list, :image)
end
end
关于此处顶部链接的文章的答案,我尝试将其添加extend Dragonfly::Model
到我的 article.rb 模型文件中;但是,它会导致在NameError: uninitialized constant Article::Dragonfly
Rails 控制台中查找据称包含上传图像的文章时。
我错过了任何必要的细节吗?请告诉我。非常感谢任何帮助。