如果这是一个简单的问题,我是一个Rails新手,所以道歉,但我一直无法找到明确的答案。我尝试允许用户通过上传文件或使用Paperclip gem输入图片的网址将图片附加到帖子。
文件上传工作正常,但使用网址方式我收到'没有定义处理程序' 错误
link.rb
require "open-uri"
class Link < ApplicationRecord
attr_reader :image_from_url
has_attached_file :image, styles: { medium: "600x600>", thumb: "100x100#" }, default_url: "/images/:style/missing.png"
validates_attachment_content_type :image, content_type: /\Aimage\/.*\z/
def image_from_url=(url)
self.image = URI.parse(url)
@image_from_url = url
end
end
_form.html.erb
<%= form_with(model: link, local: true) do |form| %>
<%= form.file_field :image, id: :link_image %>
<%= form.text_field :image, id: :link_image_url %>
<% end %>
links_controller.erb
def create
@link = current_user.links.build(link_params)
end
def link_params
params.require(:link).permit(:title, :url, :description, :image, :slug)
end
我必须承认,我并不完全理解在流程的每个阶段发生的事情,这就是我努力调试它的原因。