ckpages 0.1.1

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.
Files changed (111) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/javascripts/ckpages/application.coffee +9 -0
  6. data/app/assets/javascripts/ckpages/ckeditor_basepath.js +1 -0
  7. data/app/assets/javascripts/ckpages/ckeditor_init.js.erb +1 -0
  8. data/app/assets/javascripts/ckpages/ckeditor_replace.js.erb +16 -0
  9. data/app/assets/javascripts/ckpages/pages.js.coffee +39 -0
  10. data/app/assets/javascripts/ckpages/plugin_uploads.js.coffee +5 -0
  11. data/app/assets/stylesheets/ckpages/application.scss +34 -0
  12. data/app/controllers/ckpages/application_controller.rb +4 -0
  13. data/app/controllers/ckpages/ascendant404_controller.rb +13 -0
  14. data/app/controllers/ckpages/ascendant_controller.rb +19 -0
  15. data/app/controllers/ckpages/pages_controller.rb +66 -0
  16. data/app/controllers/ckpages/parts_controller.rb +63 -0
  17. data/app/controllers/ckpages/plugin_uploads_controller.rb +24 -0
  18. data/app/controllers/ckpages/uploads_controller.rb +41 -0
  19. data/app/helpers/ckpages/application_helper.rb +27 -0
  20. data/app/models/ckpages/page.rb +17 -0
  21. data/app/models/ckpages/part.rb +4 -0
  22. data/app/models/ckpages/upload.rb +5 -0
  23. data/app/uploaders/ckpages/application_uploader.rb +51 -0
  24. data/app/views/application/_ckpart.html.erb +1 -0
  25. data/app/views/ckpages/pages/_form.html.erb +35 -0
  26. data/app/views/ckpages/pages/edit.html.erb +5 -0
  27. data/app/views/ckpages/pages/index.html.erb +52 -0
  28. data/app/views/ckpages/pages/new.html.erb +5 -0
  29. data/app/views/ckpages/pages/show.html.erb +96 -0
  30. data/app/views/ckpages/parts/_form.html.erb +14 -0
  31. data/app/views/ckpages/parts/edit.html.erb +6 -0
  32. data/app/views/ckpages/parts/index.html.erb +44 -0
  33. data/app/views/ckpages/parts/new.html.erb +6 -0
  34. data/app/views/ckpages/parts/show.html.erb +21 -0
  35. data/app/views/ckpages/plugin_uploads/index.html.erb +23 -0
  36. data/app/views/ckpages/public/show.html.erb +19 -0
  37. data/app/views/ckpages/public404/show.html.erb +19 -0
  38. data/app/views/ckpages/uploads/index.html.erb +35 -0
  39. data/app/views/ckpages/uploads/show.html.erb +13 -0
  40. data/app/views/layouts/ckpages/application.html.erb +24 -0
  41. data/config/initializers/carrierwave.rb +1 -0
  42. data/config/initializers/simple_form.rb +166 -0
  43. data/config/initializers/simple_form_bootstrap.rb +136 -0
  44. data/config/locales/ru.yml +42 -0
  45. data/config/locales/simple_form.en.yml +31 -0
  46. data/config/routes.rb +29 -0
  47. data/db/migrate/20150424201308_create_ckpages_pages.rb +15 -0
  48. data/db/migrate/20150425115824_create_ckpages_uploads.rb +9 -0
  49. data/db/migrate/20150425152740_add_breadcrumb_to_ckpages_pages.rb +14 -0
  50. data/db/migrate/20150511111424_create_ckpages_parts.rb +10 -0
  51. data/db/migrate/20150819230152_add_columns_to_ckpages_uploads.rb +7 -0
  52. data/lib/ckpages.rb +12 -0
  53. data/lib/ckpages/engine.rb +8 -0
  54. data/lib/ckpages/version.rb +3 -0
  55. data/lib/tasks/ckpages_tasks.rake +4 -0
  56. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  57. data/test/dummy/README.rdoc +28 -0
  58. data/test/dummy/Rakefile +6 -0
  59. data/test/dummy/app/assets/javascripts/application.js +13 -0
  60. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  61. data/test/dummy/app/controllers/application_controller.rb +5 -0
  62. data/test/dummy/app/controllers/ckpages/public404_controller.rb +3 -0
  63. data/test/dummy/app/controllers/ckpages/public_controller.rb +2 -0
  64. data/test/dummy/app/helpers/application_helper.rb +2 -0
  65. data/test/dummy/app/views/ckpages/public/show.html.erb +1 -0
  66. data/test/dummy/app/views/layouts/application.html.erb +35 -0
  67. data/test/dummy/bin/bundle +3 -0
  68. data/test/dummy/bin/rails +4 -0
  69. data/test/dummy/bin/rake +4 -0
  70. data/test/dummy/bin/setup +29 -0
  71. data/test/dummy/config.ru +4 -0
  72. data/test/dummy/config/application.rb +26 -0
  73. data/test/dummy/config/boot.rb +5 -0
  74. data/test/dummy/config/database.yml +25 -0
  75. data/test/dummy/config/environment.rb +5 -0
  76. data/test/dummy/config/environments/development.rb +41 -0
  77. data/test/dummy/config/environments/production.rb +79 -0
  78. data/test/dummy/config/environments/test.rb +42 -0
  79. data/test/dummy/config/initializers/assets.rb +11 -0
  80. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  81. data/test/dummy/config/initializers/ckpages.rb +1 -0
  82. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  83. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  84. data/test/dummy/config/initializers/inflections.rb +16 -0
  85. data/test/dummy/config/initializers/mime_types.rb +4 -0
  86. data/test/dummy/config/initializers/session_store.rb +3 -0
  87. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  88. data/test/dummy/config/locales/en.yml +23 -0
  89. data/test/dummy/config/locales/ru.yml +257 -0
  90. data/test/dummy/config/routes.rb +3 -0
  91. data/test/dummy/config/secrets.yml +22 -0
  92. data/test/dummy/db/schema.rb +61 -0
  93. data/test/dummy/public/404.html +67 -0
  94. data/test/dummy/public/422.html +67 -0
  95. data/test/dummy/public/500.html +66 -0
  96. data/test/dummy/public/assets/application-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.js +0 -0
  97. data/test/dummy/public/assets/application-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113.css +16 -0
  98. data/test/dummy/public/assets/bootstrap/glyphicons-halflings-regular-13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407.eot +0 -0
  99. data/test/dummy/public/assets/bootstrap/glyphicons-halflings-regular-42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5.svg +288 -0
  100. data/test/dummy/public/assets/bootstrap/glyphicons-halflings-regular-a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742.woff +0 -0
  101. data/test/dummy/public/assets/bootstrap/glyphicons-halflings-regular-e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456.ttf +0 -0
  102. data/test/dummy/public/assets/bootstrap/glyphicons-halflings-regular-fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c.woff2 +0 -0
  103. data/test/dummy/public/assets/ckpages/application-7743f5f42fc250d6d26375695a35e216ffb9f55bc3b9136f2ab0397aed2e91aa.css +5659 -0
  104. data/test/dummy/public/assets/ckpages/application-7a1ae892892ee8f88dc20d562ed46adc99be442a63038ba9be56d42c27dea964.js +121 -0
  105. data/test/dummy/public/favicon.ico +0 -0
  106. data/test/fixtures/ckpages/pages.yml +21 -0
  107. data/test/integration/ckpages/public_test.rb +37 -0
  108. data/test/models/ckpages/page_test.rb +34 -0
  109. data/test/models/ckpages/upload_test.rb +9 -0
  110. data/test/test_helper.rb +20 -0
  111. metadata +334 -0
@@ -0,0 +1,17 @@
1
+ module Ckpages
2
+ class Page < ActiveRecord::Base
3
+ before_validation :normalize
4
+ validates :path, uniqueness: {case_sensitive: false}
5
+ validates :redirect_url, format: { with: /\A\/|http:\/\/|https:\/\// }, allow_nil: true, allow_blank: true
6
+
7
+ def normalize
8
+ self.path = self.path.gsub(/\A\/+/, '')
9
+ self.path = self.path.gsub(/\/+\z/, '')
10
+ self.path = self.path.gsub(/\A\s+/, '')
11
+ self.path = self.path.gsub(/\s+\z/, '')
12
+ self.path = '/' + self.path
13
+
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,4 @@
1
+ module Ckpages
2
+ class Part < ActiveRecord::Base
3
+ end
4
+ end
@@ -0,0 +1,5 @@
1
+ module Ckpages
2
+ class Upload < ActiveRecord::Base
3
+ mount_uploader :file, Ckpages::ApplicationUploader
4
+ end
5
+ end
@@ -0,0 +1,51 @@
1
+ module Ckpages
2
+ class ApplicationUploader < ::CarrierWave::Uploader::Base
3
+
4
+ # Include RMagick or MiniMagick support:
5
+ # include CarrierWave::RMagick
6
+ # include CarrierWave::MiniMagick
7
+
8
+ # Choose what kind of storage to use for this uploader:
9
+ storage :file
10
+ # storage :fog
11
+
12
+ # Override the directory where uploaded files will be stored.
13
+ # This is a sensible default for uploaders that are meant to be mounted:
14
+ def store_dir
15
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
16
+ end
17
+
18
+ # Provide a default URL as a default if there hasn't been a file uploaded:
19
+ # def default_url
20
+ # # For Rails 3.1+ asset pipeline compatibility:
21
+ # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
22
+ #
23
+ # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
24
+ # end
25
+
26
+ # Process files as they are uploaded:
27
+ # process :scale => [200, 300]
28
+ #
29
+ # def scale(width, height)
30
+ # # do something
31
+ # end
32
+
33
+ # Create different versions of your uploaded files:
34
+ # version :thumb do
35
+ # process :resize_to_fit => [50, 50]
36
+ # end
37
+
38
+ # Add a white list of extensions which are allowed to be uploaded.
39
+ # For images you might use something like this:
40
+ # def extension_white_list
41
+ # %w(jpg jpeg gif png)
42
+ # end
43
+
44
+ # Override the filename of the uploaded files:
45
+ # Avoid using model.id or version_name here, see uploader/store.rb for details.
46
+ # def filename
47
+ # "something.jpg" if original_filename
48
+ # end
49
+
50
+ end
51
+ end
@@ -0,0 +1 @@
1
+ <%== @part.text %>
@@ -0,0 +1,35 @@
1
+ <%= simple_form_for(@page) do |f| %>
2
+
3
+ <%= f.error_notification %>
4
+
5
+ <%= f.input :title, as: :string %>
6
+ <%= f.input :path, as: :string %>
7
+ <%= f.input :redirect_url, as: :string %>
8
+ <%= f.input :keywords, as: :string %>
9
+ <%= f.input :description, as: :string %>
10
+ <%= f.input :robots, as: :string %>
11
+
12
+ <%= f.input :title1, as: :string %>
13
+ <%= f.input :url1, as: :string %>
14
+
15
+ <%= f.input :title2, as: :string %>
16
+ <%= f.input :url2, as: :string %>
17
+
18
+ <%= f.input :title3, as: :string %>
19
+ <%= f.input :url3, as: :string %>
20
+
21
+ <%= f.input :title4, as: :string %>
22
+ <%= f.input :url4, as: :string %>
23
+
24
+ <%= f.input :title5, as: :string %>
25
+ <%= f.input :url5, as: :string %>
26
+
27
+ <%= f.input :content %>
28
+
29
+ <%= f.button :submit, class: 'btn btn-warning btn-lg' %>
30
+ <%= link_to 'Просмотр', @page.path, class: 'btn btn-primary btn-lg', data: { confirm: 'Не сохраненные данные будут утеряны. Действительно перейти?' } if @page.persisted? %>
31
+ <%= link_to 'Служебный просмотр', @page, class: 'btn btn-primary btn-lg', data: { confirm: 'Не сохраненные данные будут утеряны. Действительно перейти?' } if @page.persisted? %>
32
+ <%= link_to 'К списку страниц', pages_path, class: 'btn btn-default btn-lg', data: { confirm: 'Не сохраненные данные будут утеряны. Действительно перейти?' } %>
33
+ <%= link_to 'Удалить', @page, method: :delete, data: { confirm: 'Действительно хотите удалить страницу?' }, class: 'btn btn-danger btn-lg' %>
34
+
35
+ <% end %>
@@ -0,0 +1,5 @@
1
+ <div class="page-header">
2
+ <h1>Редактирование страницы</h1>
3
+ </div>
4
+
5
+ <%= render 'form' %>
@@ -0,0 +1,52 @@
1
+ <div class="page-header">
2
+ <h1>Список страниц</h1>
3
+ </div>
4
+
5
+ <div class="alert alert-info" role="alert"><%= notice %></div>
6
+
7
+ <%= paginate @pages %>
8
+
9
+ <div style="margin-top:20px"></div>
10
+
11
+ <div class="row">
12
+ <div class="col-md-9">
13
+ <% @pages.each do |page| %>
14
+ <div class="well">
15
+ <div>
16
+ <dl class="dl-horizontal">
17
+ <%= dt_dd(page, "id") %>
18
+ <%= dt_dd(page, "path") %>
19
+ <%= dt_dd(page, "title") %>
20
+ <%= dt_dd(page, "redirect_url") %>
21
+ <%= dt_dd(page, "content", lambda{|val| excerpt(val, '', radius: 100)}) %>
22
+ <% 1.upto(5) do |n| %>
23
+ <%= dt_dd(page, "title#{n}") %>
24
+ <%= dt_dd(page, "url#{n}") %>
25
+ <% end %>
26
+ <%= dt_dd(page, "robots") %>
27
+ <%= dt_dd(page, "keywords") %>
28
+ <%= dt_dd(page, "description") %>
29
+ <%= dt_dd(page, "created_at", lambda{|val| l(val)}) %>
30
+ <%= dt_dd(page, "updated_at", lambda{|val| l(val)}) %>
31
+ </dl>
32
+ <div class="text-center">
33
+ <%= link_to 'Просмотр', page.path, class: 'btn btn-primary' %>&nbsp;&nbsp;
34
+ <%= link_to 'Служебный просмотр', page, class: 'btn btn-primary' %>&nbsp;&nbsp;
35
+ <%= link_to 'Редактировать', edit_page_path(page), class: 'btn btn-primary' %>&nbsp;&nbsp;
36
+ <%= link_to 'Удалить', page, method: :delete, data: { confirm: 'Действительно хотите удалить страницу?' }, class: 'btn btn-danger' %>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ <% end %>
41
+ <%= paginate @pages %>
42
+ </div>
43
+ <div class="col-md-3">
44
+ <div class="well">
45
+ Тут будут фильтры
46
+ </div>
47
+ </div>
48
+ </div>
49
+
50
+ <br>
51
+
52
+ <%= link_to 'Новая страница', new_page_path, class: 'btn btn-primary btn-lg' %>
@@ -0,0 +1,5 @@
1
+ <div class="page-header">
2
+ <h1>Новая страница</h1>
3
+ </div>
4
+
5
+ <%= render 'form' %>
@@ -0,0 +1,96 @@
1
+ <div class="page-header">
2
+ <h1>Служебный просмотр</h1>
3
+ </div>
4
+
5
+
6
+ <div class="alert alert-info" role="alert"><%= notice %></div>
7
+
8
+ <p>
9
+ <strong>Path:</strong>
10
+ <%= @page.path %>
11
+ </p>
12
+
13
+ <p>
14
+ <strong>Content:</strong>
15
+ <%= @page.content %>
16
+ </p>
17
+
18
+ <p>
19
+ <strong>Keywords:</strong>
20
+ <%= @page.keywords %>
21
+ </p>
22
+
23
+ <p>
24
+ <strong>Description:</strong>
25
+ <%= @page.description %>
26
+ </p>
27
+
28
+ <p>
29
+ <strong>Title:</strong>
30
+ <%= @page.title %>
31
+ </p>
32
+
33
+ <p>
34
+ <strong>Robots:</strong>
35
+ <%= @page.robots %>
36
+ </p>
37
+
38
+ <p>
39
+ <strong>Redirect url:</strong>
40
+ <%= @page.redirect_url %>
41
+ </p>
42
+
43
+ <p>
44
+ <strong>Title1:</strong>
45
+ <%= @page.title1 %>
46
+ </p>
47
+
48
+ <p>
49
+ <strong>Url1:</strong>
50
+ <%= @page.url1 %>
51
+ </p>
52
+
53
+ <p>
54
+ <strong>Title2:</strong>
55
+ <%= @page.title2 %>
56
+ </p>
57
+
58
+ <p>
59
+ <strong>Url2:</strong>
60
+ <%= @page.url2 %>
61
+ </p>
62
+
63
+ <p>
64
+ <strong>Title3:</strong>
65
+ <%= @page.title3 %>
66
+ </p>
67
+
68
+ <p>
69
+ <strong>Url3:</strong>
70
+ <%= @page.url3 %>
71
+ </p>
72
+
73
+ <p>
74
+ <strong>Title4:</strong>
75
+ <%= @page.title4 %>
76
+ </p>
77
+
78
+ <p>
79
+ <strong>Url4:</strong>
80
+ <%= @page.url4 %>
81
+ </p>
82
+
83
+ <p>
84
+ <strong>Title5:</strong>
85
+ <%= @page.title5 %>
86
+ </p>
87
+
88
+ <p>
89
+ <strong>Url5:</strong>
90
+ <%= @page.url5 %>
91
+ </p>
92
+
93
+ <%= link_to 'Просмотр', @page.path, class: 'btn btn-primary btn-lg' %>
94
+ <%= link_to 'Редактировать', edit_page_path(@page), class: 'btn btn-primary btn-lg' %>
95
+ <%= link_to 'К списку страниц', pages_path, class: 'btn btn-default btn-lg' %>
96
+ <%= link_to 'Удалить', @page, method: :delete, data: { confirm: 'Действительно хотите удалить страницу?' }, class: 'btn btn-danger btn-lg' %>
@@ -0,0 +1,14 @@
1
+ <%= simple_form_for(@part) do |f| %>
2
+
3
+ <%= f.error_notification %>
4
+
5
+ <%= f.input :title %>
6
+ <%= f.input :text, input_html: { rows: 10 } %>
7
+
8
+ <%= f.button :submit, class: 'btn btn-warning btn-lg' %>
9
+ <%= link_to 'Служебный просмотр', @part, class: 'btn btn-primary btn-lg', data: { confirm: 'Не сохраненные данные будут утеряны. Действительно перейти?' } if @part.persisted? %>
10
+ <%= link_to 'К списку страниц', parts_path, class: 'btn btn-default btn-lg', data: { confirm: 'Не сохраненные данные будут утеряны. Действительно перейти?' } %>
11
+ <%= link_to 'Удалить', @part, method: :delete, data: { confirm: 'Действительно хотите удалить страницу?' }, class: 'btn btn-danger btn-lg' %>
12
+
13
+ <% end %>
14
+
@@ -0,0 +1,6 @@
1
+ <div class="page-header">
2
+ <h1>Редактирование части</h1>
3
+ </div>
4
+
5
+ <%= render 'form' %>
6
+
@@ -0,0 +1,44 @@
1
+ <div class="page-header">
2
+ <h1>Список частей</h1>
3
+ </div>
4
+
5
+ <div class="alert alert-info" role="alert"><%= notice %></div>
6
+
7
+ <%= paginate @parts %>
8
+
9
+ <div style="margin-top:20px"></div>
10
+
11
+ <div class="row">
12
+ <div class="col-md-9">
13
+ <% @parts.each do |part| %>
14
+ <div class="well">
15
+ <div>
16
+ <dl class="dl-horizontal">
17
+ <%= dt_dd(part, "id") %>
18
+ <%= dt_dd(part, "title") %>
19
+ <%= dt_dd(part, "text") %>
20
+ <%= dt_dd(part, "created_at", lambda{|val| l(val)}) %>
21
+ <%= dt_dd(part, "updated_at", lambda{|val| l(val)}) %>
22
+ </dl>
23
+ <div class="text-center">
24
+ <%= link_to 'Служебный просмотр', part, class: 'btn btn-primary' %>&nbsp;&nbsp;
25
+ <%= link_to 'Редактировать', edit_part_path(part), class: 'btn btn-primary' %>&nbsp;&nbsp;
26
+ <%= link_to 'Удалить', part, method: :delete, data: { confirm: 'Действительно хотите удалить страницу?' }, class: 'btn btn-danger' %>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ <% end %>
31
+ <%= paginate @parts %>
32
+ </div>
33
+ <div class="col-md-3">
34
+ <div class="well">
35
+ Тут будут фильтры
36
+ </div>
37
+ </div>
38
+ </div>
39
+
40
+ <br>
41
+
42
+ <%= link_to 'Новая часть', new_part_path, class: 'btn btn-primary btn-lg' %>
43
+
44
+ <%= paginate @parts %>
@@ -0,0 +1,6 @@
1
+ <div class="page-header">
2
+ <h1>Новая часть</h1>
3
+ </div>
4
+
5
+ <%= render 'form' %>
6
+
@@ -0,0 +1,21 @@
1
+ <div class="page-header">
2
+ <h1>Служебный просмотр</h1>
3
+ </div>
4
+
5
+
6
+ <div class="alert alert-info" role="alert"><%= notice %></div>
7
+
8
+ <p>
9
+ <strong>Title:</strong>
10
+ <%= @part.title %>
11
+ </p>
12
+
13
+ <p>
14
+ <strong>Text:</strong>
15
+ <%== @part.text %>
16
+ </p>
17
+
18
+ <%= link_to 'Редактировать', edit_part_path(@part), class: 'btn btn-primary btn-lg' %>
19
+ <%= link_to 'К списку частей', parts_path, class: 'btn btn-default btn-lg' %>
20
+ <%= link_to 'Удалить', @part, method: :delete, data: { confirm: 'Действительно хотите удалить страницу?' }, class: 'btn btn-danger btn-lg' %>
21
+
@@ -0,0 +1,23 @@
1
+ <div style="margin-top: 20px">
2
+ <% if @plugin_upload.persisted? %>
3
+ <a id="insert_files_into_ckeditor" class="btn btn-primary" style="margin-bottom: 20px">Вставить</a>
4
+
5
+ <% if @plugin_upload.file.content_type.starts_with? 'image' %>
6
+ <div id="file" class="img-responsive">
7
+ <%= image_tag @plugin_upload.file.url %>
8
+ </div>
9
+ <% else %>
10
+ <div id="file">
11
+ <%= link_to @plugin_upload.file.filename, @plugin_upload.file.url %>
12
+ </div>
13
+ <% end %>
14
+
15
+ <div id="ckeditor-name" class="hide"><%= params['CKEditor'] %></div>
16
+ <% else %>
17
+ <%= simple_form_for(@plugin_upload, url: main_app.plugin_uploads_path(@plugin_upload, 'CKEditor' => params['CKEditor'])) do |f| %>
18
+ <%= f.input :file, label: 'Выберите файл' %>
19
+ <%= f.input :remote_file_url, label: 'Или укажите ссылку на файл' %>
20
+ <%= f.button :submit, 'Загрузить', class: 'btn btn-primary' %>
21
+ <% end %>
22
+ <% end %>
23
+ </div>
@@ -0,0 +1,19 @@
1
+ <br>
2
+
3
+ <pre>
4
+ Create app/views/ckpages/public/show.html.erb in your application.
5
+ </pre>
6
+
7
+ <hr>
8
+
9
+ <h4> Content of @page </h4>
10
+
11
+ <%= debug @page %>
12
+
13
+ <hr>
14
+
15
+ <pre>
16
+ link_to 'edit page', edit_page_path(@page)
17
+ </pre>
18
+
19
+ <%= link_to 'edit page', edit_page_path(@page) %>
@@ -0,0 +1,19 @@
1
+ <br>
2
+
3
+ <pre>
4
+ Create app/views/ckpages/public404/show.html.erb in your application.
5
+ </pre>
6
+
7
+ <hr>
8
+
9
+ <h4> Content of params </h4>
10
+
11
+ <%= debug params %>
12
+
13
+ <hr>
14
+
15
+ <pre>
16
+ link_to 'new page', ckpages.new_page_path(path: "/#{params[:path]}")
17
+ </pre>
18
+
19
+ <%= link_to 'new page', new_page_path(path: "/#{params[:path]}") %>