mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
WIP
This commit is contained in:
parent
421b185dab
commit
7daa8cc63e
2 changed files with 33 additions and 7 deletions
9
app/models/action_text/rich_text.rb
Normal file
9
app/models/action_text/rich_text.rb
Normal file
|
@ -0,0 +1,9 @@
|
|||
class ActionText::RichText < ActiveRecord::Base
|
||||
serialize :body, ActionText::Content
|
||||
|
||||
has_many_attached :embeds
|
||||
|
||||
after_save do
|
||||
self.embeds_attachments_blobs = body.attachments.map(&:attachable)
|
||||
end
|
||||
end
|
|
@ -3,16 +3,33 @@ module ActionText
|
|||
extend ActiveSupport::Concern
|
||||
|
||||
class_methods do
|
||||
def has_rich_text(attribute_name)
|
||||
serialize(attribute_name, ActionText::Content)
|
||||
def has_rich_text(name)
|
||||
class_eval <<-CODE, __FILE__, __LINE__ + 1
|
||||
def #{name}
|
||||
rich_text_#{name}
|
||||
end
|
||||
|
||||
has_many_attached "#{attribute_name}_attachments"
|
||||
def #{name}=(body)
|
||||
#{name}.body = body
|
||||
end
|
||||
CODE
|
||||
|
||||
after_save do
|
||||
blobs = public_send(attribute_name).attachments.map(&:attachable)
|
||||
public_send("#{attribute_name}_attachments_blobs=", blobs)
|
||||
end
|
||||
end
|
||||
has_one :"rich_text_#{name}", -> { where(name: name) }, class_name: "ActionText::RichText", as: :record, inverse_of: :record, dependent: false
|
||||
|
||||
scope :"with_rich_text_#{name}", -> { includes("rich_text_#{name}") }
|
||||
end
|
||||
|
||||
|
||||
# def has_rich_text(attribute_name)
|
||||
# serialize(attribute_name, ActionText::Content)
|
||||
#
|
||||
# has_many_attached "#{attribute_name}_attachments"
|
||||
#
|
||||
# after_save do
|
||||
# blobs = public_send(attribute_name).attachments.map(&:attachable)
|
||||
# public_send("#{attribute_name}_attachments_blobs=", blobs)
|
||||
# end
|
||||
# end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue