我正在使用Rails 4,Active Admin和Paperclip来设置has_many图片关联。生成表单的has_many部分时,我不断收到错误消息。目前,我正在为nil:NilClass获取未定义的方法“ +”。这是我的代码:
新闻模型
class News < ActiveRecord::Base
validates :body, presence: true
validates :title, presence: true, length: { maximum: 140 }
has_many :news_images, dependent: :destroy
end
新闻图片模型
class NewsImage < ActiveRecord::Base
belongs_to :news
has_attached_file :photo, styles: {
small: "150x150>",
medium: "300x300>",
large: "600x600>"
}
validates_attachment_presence :photo
validates_attachment_size :photo, less_than: 5.megabytes
end
管理员代码
ActiveAdmin.register News do
index do
column :title
default_actions
end
form multipart: true do |f|
f.semantic_errors *f.object.errors.keys
f.inputs "News Details" do
f.input :title
f.input :body, :as => :rich
end
f.has_many :news_images do |p|
end
f.actions
end
controller do
def permitted_params
params.permit news: [:title, :body, news_images: [:photo]]
end
end
end
理想情况下,我希望用户能够将多个图像上传到表单。有人对此问题有经验吗?
堆栈跟踪表明insert_tag renderer_for(:new)
正在跳闸f.has_many :news_images do |p|
所以问题出在新闻模型上。我以为accepts_nested_attributes_for不推荐使用,但添加了强大的参数,但我想我将其添加到新闻模型中是错误的,从而解决了我的问题
accepts_nested_attributes_for :news_images,
:reject_if => lambda { |attributes| attributes[:photo].blank? },
:allow_destroy => true
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句