diff options
| author | hukl <contact@smyck.org> | 2009-09-01 10:40:57 +0200 |
|---|---|---|
| committer | hukl <contact@smyck.org> | 2009-09-01 10:40:57 +0200 |
| commit | c95126d6b6abd6302a07fbb17cd9ad0181e048c7 (patch) | |
| tree | f1e8e95b3883d728cfff3e039da87ccaac054cef | |
| parent | e15b4259620a08b89ac390e7628c7e3081388526 (diff) | |
added related_assets to pages
| -rw-r--r-- | app/models/asset.rb | 2 | ||||
| -rw-r--r-- | app/models/page.rb | 2 | ||||
| -rw-r--r-- | app/models/related_asset.rb | 6 | ||||
| -rw-r--r-- | db/migrate/20090901051946_create_related_assets.rb | 14 | ||||
| -rw-r--r-- | test/fixtures/related_assets.yml | 7 | ||||
| -rw-r--r-- | test/unit/related_asset_test.rb | 8 |
6 files changed, 39 insertions, 0 deletions
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 @@ | |||
| 1 | class Asset < ActiveRecord::Base | 1 | class Asset < ActiveRecord::Base |
| 2 | 2 | ||
| 3 | has_many :pages, :through => :related_assets | ||
| 4 | |||
| 3 | has_attached_file( | 5 | has_attached_file( |
| 4 | :upload, | 6 | :upload, |
| 5 | :styles => { | 7 | :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 | |||
| 30 | # Associations | 30 | # Associations |
| 31 | belongs_to :node | 31 | belongs_to :node |
| 32 | belongs_to :user | 32 | belongs_to :user |
| 33 | has_many :related_assets | ||
| 34 | has_many :assets, :through => :related_assets, :order => "position DESC" | ||
| 33 | 35 | ||
| 34 | # Filter | 36 | # Filter |
| 35 | before_create :set_page_title | 37 | 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 @@ | |||
| 1 | class RelatedAsset < ActiveRecord::Base | ||
| 2 | belongs_to :page | ||
| 3 | belongs_to :asset | ||
| 4 | |||
| 5 | acts_as_list, :scope => :page_id | ||
| 6 | 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 @@ | |||
| 1 | class CreateRelatedAssets < ActiveRecord::Migration | ||
| 2 | def self.up | ||
| 3 | create_table :related_assets do |t| | ||
| 4 | t.integer :asset_id | ||
| 5 | t.integer :page_id | ||
| 6 | t.integer :position, :default => 1 | ||
| 7 | t.timestamps | ||
| 8 | end | ||
| 9 | end | ||
| 10 | |||
| 11 | def self.down | ||
| 12 | drop_table :related_assets | ||
| 13 | end | ||
| 14 | 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 @@ | |||
| 1 | # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html | ||
| 2 | |||
| 3 | # one: | ||
| 4 | # column: value | ||
| 5 | # | ||
| 6 | # two: | ||
| 7 | # 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 @@ | |||
| 1 | require 'test_helper' | ||
| 2 | |||
| 3 | class RelatedImageTest < ActiveSupport::TestCase | ||
| 4 | # Replace this with your real tests. | ||
| 5 | test "the truth" do | ||
| 6 | assert true | ||
| 7 | end | ||
| 8 | end | ||
