From c95126d6b6abd6302a07fbb17cd9ad0181e048c7 Mon Sep 17 00:00:00 2001 From: hukl Date: Tue, 1 Sep 2009 10:40:57 +0200 Subject: added related_assets to pages --- app/models/asset.rb | 2 ++ app/models/page.rb | 2 ++ app/models/related_asset.rb | 6 ++++++ db/migrate/20090901051946_create_related_assets.rb | 14 ++++++++++++++ test/fixtures/related_assets.yml | 7 +++++++ test/unit/related_asset_test.rb | 8 ++++++++ 6 files changed, 39 insertions(+) create mode 100644 app/models/related_asset.rb create mode 100644 db/migrate/20090901051946_create_related_assets.rb create mode 100644 test/fixtures/related_assets.yml create mode 100644 test/unit/related_asset_test.rb diff --git a/app/models/asset.rb b/app/models/asset.rb index 6f727ad..fda2dc0 100644 --- a/app/models/asset.rb +++ b/app/models/asset.rb @@ -1,5 +1,7 @@ class Asset < ActiveRecord::Base + has_many :pages, :through => :related_assets + has_attached_file( :upload, :styles => { diff --git a/app/models/page.rb b/app/models/page.rb index b6d6489..d697a96 100644 --- a/app/models/page.rb +++ b/app/models/page.rb @@ -30,6 +30,8 @@ class Page < ActiveRecord::Base # Associations belongs_to :node belongs_to :user + has_many :related_assets + has_many :assets, :through => :related_assets, :order => "position DESC" # Filter before_create :set_page_title diff --git a/app/models/related_asset.rb b/app/models/related_asset.rb new file mode 100644 index 0000000..dc4dc3d --- /dev/null +++ b/app/models/related_asset.rb @@ -0,0 +1,6 @@ +class RelatedAsset < ActiveRecord::Base + belongs_to :page + belongs_to :asset + + acts_as_list, :scope => :page_id +end \ No newline at end of file diff --git a/db/migrate/20090901051946_create_related_assets.rb b/db/migrate/20090901051946_create_related_assets.rb new file mode 100644 index 0000000..849bf19 --- /dev/null +++ b/db/migrate/20090901051946_create_related_assets.rb @@ -0,0 +1,14 @@ +class CreateRelatedAssets < ActiveRecord::Migration + def self.up + create_table :related_assets do |t| + t.integer :asset_id + t.integer :page_id + t.integer :position, :default => 1 + t.timestamps + end + end + + def self.down + drop_table :related_assets + end +end diff --git a/test/fixtures/related_assets.yml b/test/fixtures/related_assets.yml new file mode 100644 index 0000000..5bf0293 --- /dev/null +++ b/test/fixtures/related_assets.yml @@ -0,0 +1,7 @@ +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html + +# one: +# column: value +# +# two: +# column: value diff --git a/test/unit/related_asset_test.rb b/test/unit/related_asset_test.rb new file mode 100644 index 0000000..a739e6b --- /dev/null +++ b/test/unit/related_asset_test.rb @@ -0,0 +1,8 @@ +require 'test_helper' + +class RelatedImageTest < ActiveSupport::TestCase + # Replace this with your real tests. + test "the truth" do + assert true + end +end -- cgit v1.3