redde 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +20 -0
- data/lib/generators/redde/photo/templates/controller.rb +6 -7
- data/lib/generators/redde/photo/templates/photos/_photo.haml +1 -1
- data/lib/generators/redde/photo/templates/photos/_photos.haml +4 -4
- data/lib/redde/version.rb +1 -1
- data/spec/generators/layout_generator_spec.rb +1 -1
- metadata +4 -4
data/README.md
CHANGED
@@ -47,6 +47,26 @@ Add `admin.scss` and `admin.js` to assets precompilation in config/production.rb
|
|
47
47
|
## Добавление фотографий
|
48
48
|
|
49
49
|
rails g redde:photo
|
50
|
+
|
51
|
+
Добавьте в routes.rb единожды
|
52
|
+
|
53
|
+
concern :imageable do
|
54
|
+
resources :photos, only: [:show, :create, :destroy] do
|
55
|
+
post 'sort', :on => :collection
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
и для каждой модели роуты `concerns :imageable` к которой необходимо добавить фотографии, например для Product
|
60
|
+
|
61
|
+
namespace :admin do
|
62
|
+
resources :products do
|
63
|
+
concerns :imageable
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
Не забудьте добавить полиморфную связь
|
68
|
+
|
69
|
+
has_many :photos, dependent: :destroy, as: :imageable
|
50
70
|
|
51
71
|
создаст scaffold для модели Photo с полиморфной связью
|
52
72
|
|
@@ -11,20 +11,19 @@ class Admin::PhotosController < ActionController::Base
|
|
11
11
|
|
12
12
|
def create
|
13
13
|
if params[:product_id].present?
|
14
|
-
|
15
|
-
@photo = @product.photos.build(src: params[:file])
|
14
|
+
parent = Product.find(params[:product_id])
|
16
15
|
end
|
17
|
-
|
18
|
-
|
19
|
-
else
|
16
|
+
@photo = parent.photos.build(src: params[:file])
|
17
|
+
unless @photo.save
|
20
18
|
render js: 'alert("Ошибка! Фото не загружено")'
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
24
22
|
def destroy
|
25
23
|
@photo = Photo.find(params[:id])
|
26
|
-
@photo.destroy
|
27
|
-
|
24
|
+
if @photo.destroy
|
25
|
+
render 'admin/photos/destroy'
|
26
|
+
end
|
28
27
|
end
|
29
28
|
|
30
29
|
end
|
@@ -2,4 +2,4 @@
|
|
2
2
|
= link_to photo.src.url do
|
3
3
|
= image_tag photo.src.admin
|
4
4
|
%em= photo.src.to_s.gsub(/.*\/(.*)\z/,'\1')
|
5
|
-
= link_to "удалить", url_for([:admin,
|
5
|
+
= link_to "удалить", url_for([:admin, photo.imageable, photo]), :method => :delete, :confirm => "Точно удалить?", :remote => true, :title => "Удалить", :class => "del"
|
@@ -1,12 +1,12 @@
|
|
1
1
|
- unless parent.new_record?
|
2
|
-
=content_for(:page_sidebar) do
|
2
|
+
= content_for(:page_sidebar) do
|
3
3
|
%h5
|
4
4
|
Фотографии
|
5
5
|
- if editable ||= false
|
6
|
-
= link_to "ред.", [:admin,parent]
|
6
|
+
= link_to "ред.", [:admin, parent]
|
7
7
|
.product-photos
|
8
8
|
%ul.photos#photo-list
|
9
|
-
= render
|
9
|
+
= render parent.photos
|
10
10
|
|
11
11
|
#preview
|
12
12
|
#drag-n-drop{:style => "display: none; margin-top: 5px;"}
|
@@ -19,4 +19,4 @@
|
|
19
19
|
.b-button.js-fileapi-wrapper
|
20
20
|
.b-button__text Загрузить файлы
|
21
21
|
%input.b-button__input.js-fileapi{:name => "files", :type => "file", :multiple => true, data: {"upload-url" => url_for([:admin, parent, :photos])}}
|
22
|
-
= photo_sortable url_for([:sort
|
22
|
+
= photo_sortable url_for([:sort, :admin, parent, :photos])
|
data/lib/redde/version.rb
CHANGED
@@ -28,7 +28,7 @@ describe Redde::Generators::LayoutGenerator do
|
|
28
28
|
|
29
29
|
# check js and css
|
30
30
|
assert_file "app/assets/javascripts/admin.js"
|
31
|
-
assert_file "app/assets/stylesheets/admin.scss"
|
31
|
+
assert_file "app/assets/stylesheets/admin/index.scss"
|
32
32
|
|
33
33
|
#check images
|
34
34
|
assert_directory "app/assets/images/admin"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redde
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-02-
|
13
|
+
date: 2014-02-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: jquery-rails
|
@@ -329,7 +329,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
329
329
|
version: '0'
|
330
330
|
segments:
|
331
331
|
- 0
|
332
|
-
hash:
|
332
|
+
hash: 1230283241805079294
|
333
333
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
334
334
|
none: false
|
335
335
|
requirements:
|
@@ -338,7 +338,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
338
338
|
version: '0'
|
339
339
|
segments:
|
340
340
|
- 0
|
341
|
-
hash:
|
341
|
+
hash: 1230283241805079294
|
342
342
|
requirements: []
|
343
343
|
rubyforge_project:
|
344
344
|
rubygems_version: 1.8.24
|