district_cn_selector 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. data/.gitignore +27 -0
  2. data/.rspec +1 -0
  3. data/.travis.yml +14 -0
  4. data/Gemfile +37 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +138 -0
  7. data/Rakefile +21 -0
  8. data/config/routes.rb +7 -0
  9. data/district_cn_selector.gemspec +27 -0
  10. data/lib/district_cn_selector.rb +22 -0
  11. data/lib/district_cn_selector/district_controller.rb +26 -0
  12. data/lib/district_cn_selector/district_select_helper.rb +46 -0
  13. data/lib/district_cn_selector/district_select_ul_helper.rb +48 -0
  14. data/lib/district_cn_selector/engine.rb +22 -0
  15. data/lib/district_cn_selector/helpers/form_builder.rb +13 -0
  16. data/lib/district_cn_selector/helpers/form_builder_extension.rb +49 -0
  17. data/lib/district_cn_selector/hooks/simple_form.rb +72 -0
  18. data/lib/district_cn_selector/selector.rb +202 -0
  19. data/lib/district_cn_selector/theme.rb +19 -0
  20. data/lib/district_cn_selector/version.rb +3 -0
  21. data/spec/controllers/district_cn_selector/district_controller_spec.rb +13 -0
  22. data/spec/dummy/README.rdoc +261 -0
  23. data/spec/dummy/Rakefile +7 -0
  24. data/spec/dummy/app/assets/javascripts/application.js +5 -0
  25. data/spec/dummy/app/assets/stylesheets/application.css.scss +31 -0
  26. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  27. data/spec/dummy/app/controllers/home_controller.rb +7 -0
  28. data/spec/dummy/app/controllers/tests_controller.rb +10 -0
  29. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  30. data/spec/dummy/app/mailers/.gitkeep +0 -0
  31. data/spec/dummy/app/models/company.rb +8 -0
  32. data/spec/dummy/app/views/home/index.html.erb +31 -0
  33. data/spec/dummy/app/views/home/select2_backup.html.erb +49 -0
  34. data/spec/dummy/app/views/layouts/application.html.erb +15 -0
  35. data/spec/dummy/app/views/tests/1.html.erb +8 -0
  36. data/spec/dummy/app/views/tests/2.html.erb +9 -0
  37. data/spec/dummy/app/views/tests/3.html.erb +7 -0
  38. data/spec/dummy/app/views/tests/4.html.erb +7 -0
  39. data/spec/dummy/app/views/tests/5.html.erb +7 -0
  40. data/spec/dummy/app/views/tests/6.html.erb +7 -0
  41. data/spec/dummy/config.ru +4 -0
  42. data/spec/dummy/config/application.rb +75 -0
  43. data/spec/dummy/config/boot.rb +10 -0
  44. data/spec/dummy/config/database.yml +16 -0
  45. data/spec/dummy/config/environment.rb +5 -0
  46. data/spec/dummy/config/environments/development.rb +37 -0
  47. data/spec/dummy/config/environments/production.rb +67 -0
  48. data/spec/dummy/config/environments/test.rb +37 -0
  49. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  50. data/spec/dummy/config/initializers/inflections.rb +15 -0
  51. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  52. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  53. data/spec/dummy/config/initializers/session_store.rb +8 -0
  54. data/spec/dummy/config/initializers/simple_form.rb +142 -0
  55. data/spec/dummy/config/initializers/simple_form_bootstrap.rb +45 -0
  56. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  57. data/spec/dummy/config/locales/active_record.zh-CN.yml +11 -0
  58. data/spec/dummy/config/locales/en.yml +5 -0
  59. data/spec/dummy/config/locales/simple_form.en.yml +26 -0
  60. data/spec/dummy/config/routes.rb +5 -0
  61. data/spec/dummy/db/migrate/20130717055253_create_companies.rb +10 -0
  62. data/spec/dummy/db/schema.rb +24 -0
  63. data/spec/dummy/lib/assets/.gitkeep +0 -0
  64. data/spec/dummy/log/.gitkeep +0 -0
  65. data/spec/dummy/public/404.html +26 -0
  66. data/spec/dummy/public/422.html +26 -0
  67. data/spec/dummy/public/500.html +25 -0
  68. data/spec/dummy/public/area_select_cn/area-bg1.jpg +0 -0
  69. data/spec/dummy/public/area_select_cn/area-bg2.jpg +0 -0
  70. data/spec/dummy/public/favicon.ico +0 -0
  71. data/spec/dummy/script/rails +6 -0
  72. data/spec/factories/.gitkeep +0 -0
  73. data/spec/features/visit_testpage_spec.rb +93 -0
  74. data/spec/helpers/form_spec.rb +106 -0
  75. data/spec/helpers/simple_form_spec.rb +101 -0
  76. data/spec/spec_helper.rb +48 -0
  77. data/spec/support/mock_controller.rb +22 -0
  78. data/spec/support/view_test_helper.rb +29 -0
  79. data/vendor/assets/images/district_cn_selector/area-bg1.jpg +0 -0
  80. data/vendor/assets/images/district_cn_selector/area-bg2.jpg +0 -0
  81. data/vendor/assets/images/district_cn_selector/bootstrap-theme.png +0 -0
  82. data/vendor/assets/images/district_cn_selector/default-theme.png +0 -0
  83. data/vendor/assets/javascripts/district_cn_selector/jquery.district-ul.js +224 -0
  84. data/vendor/assets/javascripts/district_cn_selector/jquery.district.js +119 -0
  85. data/vendor/assets/stylesheets/district_cn_selector/district-ul.css +93 -0
  86. metadata +269 -0
@@ -0,0 +1,119 @@
1
+ (function($){
2
+ var jQuery = $;
3
+
4
+ var District = function(selector, options){
5
+ options = options || {};
6
+ jQuery.extend(this.options, options);
7
+
8
+ this.districtContainer = $(selector);
9
+ this.districts = this.districtContainer.find("select");
10
+ this.provinceSelect = $(this.districts[0]);
11
+ this.citySelect = $(this.districts[1]);
12
+ this.countySelect = $(this.districts[2]);
13
+
14
+ this.resetSelectedValues();
15
+
16
+ this.attachEvents();
17
+ };
18
+
19
+ // for `new jQuery.District()` or `jQuery.District()`
20
+ jQuery.District = function(selector, options){
21
+ return new District(selector, options);
22
+ };
23
+
24
+ jQuery.extend(District.prototype, {
25
+ attachEvents: function(){
26
+ var self = this;
27
+ this.districts.on("change", function(){
28
+ var $this = $(this);
29
+ var val = $this.val();
30
+ if(val == ''){
31
+ self.clearAfterSelects($this);
32
+ self.afterChange($this);
33
+ } else {
34
+ self.requestDistricts(val, function(data){
35
+ self.changeAfterSelect($this, data);
36
+ self.clearAfter2Select($this);
37
+ self.afterChange($this);
38
+ });
39
+ }
40
+
41
+ });
42
+ },
43
+ afterChange: function(select){
44
+ var self = this;
45
+ this.resetSelectedValues();
46
+ if(jQuery.type(this.options.onChange) === 'function')
47
+ this.options.onChange.call(select,self.districtContainer,this.curDistrict);
48
+ },
49
+
50
+ changeAfterSelect: function(select, data){
51
+ $nextSelect = select.next('select');
52
+ this.clearSelects($nextSelect);
53
+ this.addSelectOptions($nextSelect, data);
54
+ },
55
+
56
+ clearAfterSelects: function(select){
57
+ this.clearSelects(select.nextAll('select'));
58
+ },
59
+
60
+ clearAfter2Select: function(select){
61
+ after2select = select.nextAll('select')[1];
62
+ if(after2select)
63
+ this.clearSelects($(after2select));
64
+ },
65
+
66
+ clearSelects: function(selects){
67
+ selects.each(function(i, select){
68
+ $(select).children().slice(1).remove();
69
+ });
70
+ },
71
+
72
+ resetSelectedValues: function(){
73
+ this.selectedProvince = this.provinceSelect.val();
74
+ this.selectedCity = this.citySelect.val();
75
+ this.selectedCounty = this.countySelect.val();
76
+ this.curDistrict = this.selectedCounty || this.selectedCity || this.selectedProvince;
77
+ },
78
+
79
+ requestDistricts: function(code, callback){
80
+ if(this.dataCache[code])
81
+ return callback.call(this, this.dataCache[code]);
82
+ var self = this;
83
+ var xhr = $.get(this.options.url + code, function(data){
84
+ self.dataCache[code] = $.type(data) === 'string' ? $.parseJSON(data) : data;
85
+ callback.call(self, self.dataCache[code]);
86
+ }, 'json');
87
+ },
88
+
89
+ addSelectOptions: function(select, districts){
90
+ var optionEles = []
91
+ $.each(districts, function(i, district){
92
+ optionEles.push($(document.createElement("option")).attr({value: district[1]}).text(district[0]));
93
+ });
94
+ $.each(optionEles, function(i, ele){
95
+ select.append(ele);
96
+ });
97
+ },
98
+
99
+ options: {
100
+ url: '/district_cn_selector/district?region_code=',
101
+ onChange: null
102
+ },
103
+ dataCache: {},
104
+ selectedProvince: null,
105
+ selectedCity: null,
106
+ selectedCounty: null,
107
+ curDistrict: null
108
+ });
109
+ })($);
110
+
111
+ $(document).ready(function () {
112
+ if (window.AREA_SELECT_CN_DISTRICT_FIELDS !== undefined) {
113
+ for (var i in window.AREA_SELECT_CN_DISTRICT_FIELDS) {
114
+ var f = window.AREA_SELECT_CN_DISTRICT_FIELDS[i];
115
+ jQuery.District(f[0], f[1]);
116
+ }
117
+ }
118
+ });
119
+
@@ -0,0 +1,93 @@
1
+ /** 地区选择 **/
2
+ .district_cn_selector,
3
+ .district_cn_selector .control-label,
4
+ .district_cn_selector ul{
5
+ padding: 0;
6
+ border: 0;
7
+ font-size: 100%;
8
+ /*font: inherit;*/
9
+ vertical-align: baseline;
10
+ }
11
+ .district_cn_selector ul{ list-style: none; }
12
+ .district_cn_selector .control-label{
13
+ float:left;
14
+ }
15
+ .district_cn_selector .controls{
16
+ display:inline-block;
17
+ }
18
+ .district_cn_selector .controls:after
19
+ {
20
+ content:".";
21
+ display:block;
22
+ height:0;
23
+ clear:both;
24
+ visibility:hidden;
25
+ }
26
+ .district_cn_selector .controls {display:block;}
27
+
28
+ .district_cn_selector .select-input{
29
+ position: relative;
30
+ margin-left:17px;
31
+ float:left;
32
+ }
33
+ .district_cn_selector .province{
34
+ margin-left:0;
35
+ }
36
+
37
+ .district_cn_selector .select-input .select-prompt {
38
+ cursor: pointer;
39
+ color:#000033;
40
+ width:119px;
41
+ height:28px;
42
+ }
43
+
44
+ .district_cn_selector .select-input .select-content{
45
+ letter-spacing: 2px;
46
+ background:url("../district_cn_selector/area-bg1.jpg");
47
+ white-space: nowrap;
48
+ overflow:hidden;
49
+ text-align:center;
50
+ float:left;
51
+ font-size:14px;
52
+ line-height:28px;
53
+ width:94px;
54
+ }
55
+ .district_cn_selector .select-input .select-tangle{
56
+ display:block;
57
+ width:25px;
58
+ height:28px;
59
+ float:right;
60
+ background:url("../district_cn_selector/area-bg2.jpg");
61
+ }
62
+
63
+ .district_cn_selector .select-input .select-opts{
64
+ display:none;
65
+ background-color:#FFFFFF;
66
+ position: absolute;
67
+ border: 1px solid #D6D6D6;
68
+ border-top: none;
69
+ box-shadow: 0 1px 3px #ECECEC;
70
+ z-index: 100;
71
+ top:28px;;
72
+ left:1px;
73
+ width:116px;
74
+ max-height: 350px;
75
+ overflow:auto;
76
+ margin: 0;
77
+ }
78
+ .district_cn_selector .select-input .select-opts a{
79
+ text-decoration: none;
80
+ display:block;
81
+ padding-left:6px;
82
+ font-size: 14px;
83
+ line-height:24px;
84
+ width:110px;
85
+ cursor: pointer;
86
+ color: #000033
87
+ }
88
+ .district_cn_selector .select-input li:hover { background-color: #D6D6D6; }
89
+ .district_cn_selector .select-input li.active { background-color: #D6D6D6; }
90
+ .district_cn_selector select{
91
+ width:130px;
92
+ margin-right:10px
93
+ }
metadata ADDED
@@ -0,0 +1,269 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: district_cn_selector
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - kehao
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-08-27 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.3'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.3'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rails
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 3.2.6
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 3.2.6
62
+ - !ruby/object:Gem::Dependency
63
+ name: jquery-rails
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: district_cn
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: 1.0.2
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: 1.0.2
94
+ description: 三级联动地区选择器
95
+ email:
96
+ - kehao.qiu@gmail.com
97
+ executables: []
98
+ extensions: []
99
+ extra_rdoc_files: []
100
+ files:
101
+ - .gitignore
102
+ - .rspec
103
+ - .travis.yml
104
+ - Gemfile
105
+ - LICENSE.txt
106
+ - README.md
107
+ - Rakefile
108
+ - config/routes.rb
109
+ - district_cn_selector.gemspec
110
+ - lib/district_cn_selector.rb
111
+ - lib/district_cn_selector/district_controller.rb
112
+ - lib/district_cn_selector/district_select_helper.rb
113
+ - lib/district_cn_selector/district_select_ul_helper.rb
114
+ - lib/district_cn_selector/engine.rb
115
+ - lib/district_cn_selector/helpers/form_builder.rb
116
+ - lib/district_cn_selector/helpers/form_builder_extension.rb
117
+ - lib/district_cn_selector/hooks/simple_form.rb
118
+ - lib/district_cn_selector/selector.rb
119
+ - lib/district_cn_selector/theme.rb
120
+ - lib/district_cn_selector/version.rb
121
+ - spec/controllers/district_cn_selector/district_controller_spec.rb
122
+ - spec/dummy/README.rdoc
123
+ - spec/dummy/Rakefile
124
+ - spec/dummy/app/assets/javascripts/application.js
125
+ - spec/dummy/app/assets/stylesheets/application.css.scss
126
+ - spec/dummy/app/controllers/application_controller.rb
127
+ - spec/dummy/app/controllers/home_controller.rb
128
+ - spec/dummy/app/controllers/tests_controller.rb
129
+ - spec/dummy/app/helpers/application_helper.rb
130
+ - spec/dummy/app/mailers/.gitkeep
131
+ - spec/dummy/app/models/company.rb
132
+ - spec/dummy/app/views/home/index.html.erb
133
+ - spec/dummy/app/views/home/select2_backup.html.erb
134
+ - spec/dummy/app/views/layouts/application.html.erb
135
+ - spec/dummy/app/views/tests/1.html.erb
136
+ - spec/dummy/app/views/tests/2.html.erb
137
+ - spec/dummy/app/views/tests/3.html.erb
138
+ - spec/dummy/app/views/tests/4.html.erb
139
+ - spec/dummy/app/views/tests/5.html.erb
140
+ - spec/dummy/app/views/tests/6.html.erb
141
+ - spec/dummy/config.ru
142
+ - spec/dummy/config/application.rb
143
+ - spec/dummy/config/boot.rb
144
+ - spec/dummy/config/database.yml
145
+ - spec/dummy/config/environment.rb
146
+ - spec/dummy/config/environments/development.rb
147
+ - spec/dummy/config/environments/production.rb
148
+ - spec/dummy/config/environments/test.rb
149
+ - spec/dummy/config/initializers/backtrace_silencers.rb
150
+ - spec/dummy/config/initializers/inflections.rb
151
+ - spec/dummy/config/initializers/mime_types.rb
152
+ - spec/dummy/config/initializers/secret_token.rb
153
+ - spec/dummy/config/initializers/session_store.rb
154
+ - spec/dummy/config/initializers/simple_form.rb
155
+ - spec/dummy/config/initializers/simple_form_bootstrap.rb
156
+ - spec/dummy/config/initializers/wrap_parameters.rb
157
+ - spec/dummy/config/locales/active_record.zh-CN.yml
158
+ - spec/dummy/config/locales/en.yml
159
+ - spec/dummy/config/locales/simple_form.en.yml
160
+ - spec/dummy/config/routes.rb
161
+ - spec/dummy/db/migrate/20130717055253_create_companies.rb
162
+ - spec/dummy/db/schema.rb
163
+ - spec/dummy/lib/assets/.gitkeep
164
+ - spec/dummy/log/.gitkeep
165
+ - spec/dummy/public/404.html
166
+ - spec/dummy/public/422.html
167
+ - spec/dummy/public/500.html
168
+ - spec/dummy/public/area_select_cn/area-bg1.jpg
169
+ - spec/dummy/public/area_select_cn/area-bg2.jpg
170
+ - spec/dummy/public/favicon.ico
171
+ - spec/dummy/script/rails
172
+ - spec/factories/.gitkeep
173
+ - spec/features/visit_testpage_spec.rb
174
+ - spec/helpers/form_spec.rb
175
+ - spec/helpers/simple_form_spec.rb
176
+ - spec/spec_helper.rb
177
+ - spec/support/mock_controller.rb
178
+ - spec/support/view_test_helper.rb
179
+ - vendor/assets/images/district_cn_selector/area-bg1.jpg
180
+ - vendor/assets/images/district_cn_selector/area-bg2.jpg
181
+ - vendor/assets/images/district_cn_selector/bootstrap-theme.png
182
+ - vendor/assets/images/district_cn_selector/default-theme.png
183
+ - vendor/assets/javascripts/district_cn_selector/jquery.district-ul.js
184
+ - vendor/assets/javascripts/district_cn_selector/jquery.district.js
185
+ - vendor/assets/stylesheets/district_cn_selector/district-ul.css
186
+ homepage:
187
+ licenses:
188
+ - MIT
189
+ post_install_message:
190
+ rdoc_options: []
191
+ require_paths:
192
+ - lib
193
+ required_ruby_version: !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - ! '>='
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
199
+ required_rubygems_version: !ruby/object:Gem::Requirement
200
+ none: false
201
+ requirements:
202
+ - - ! '>='
203
+ - !ruby/object:Gem::Version
204
+ version: '0'
205
+ requirements: []
206
+ rubyforge_project:
207
+ rubygems_version: 1.8.25
208
+ signing_key:
209
+ specification_version: 3
210
+ summary: 三级联动地区选择器
211
+ test_files:
212
+ - spec/controllers/district_cn_selector/district_controller_spec.rb
213
+ - spec/dummy/README.rdoc
214
+ - spec/dummy/Rakefile
215
+ - spec/dummy/app/assets/javascripts/application.js
216
+ - spec/dummy/app/assets/stylesheets/application.css.scss
217
+ - spec/dummy/app/controllers/application_controller.rb
218
+ - spec/dummy/app/controllers/home_controller.rb
219
+ - spec/dummy/app/controllers/tests_controller.rb
220
+ - spec/dummy/app/helpers/application_helper.rb
221
+ - spec/dummy/app/mailers/.gitkeep
222
+ - spec/dummy/app/models/company.rb
223
+ - spec/dummy/app/views/home/index.html.erb
224
+ - spec/dummy/app/views/home/select2_backup.html.erb
225
+ - spec/dummy/app/views/layouts/application.html.erb
226
+ - spec/dummy/app/views/tests/1.html.erb
227
+ - spec/dummy/app/views/tests/2.html.erb
228
+ - spec/dummy/app/views/tests/3.html.erb
229
+ - spec/dummy/app/views/tests/4.html.erb
230
+ - spec/dummy/app/views/tests/5.html.erb
231
+ - spec/dummy/app/views/tests/6.html.erb
232
+ - spec/dummy/config.ru
233
+ - spec/dummy/config/application.rb
234
+ - spec/dummy/config/boot.rb
235
+ - spec/dummy/config/database.yml
236
+ - spec/dummy/config/environment.rb
237
+ - spec/dummy/config/environments/development.rb
238
+ - spec/dummy/config/environments/production.rb
239
+ - spec/dummy/config/environments/test.rb
240
+ - spec/dummy/config/initializers/backtrace_silencers.rb
241
+ - spec/dummy/config/initializers/inflections.rb
242
+ - spec/dummy/config/initializers/mime_types.rb
243
+ - spec/dummy/config/initializers/secret_token.rb
244
+ - spec/dummy/config/initializers/session_store.rb
245
+ - spec/dummy/config/initializers/simple_form.rb
246
+ - spec/dummy/config/initializers/simple_form_bootstrap.rb
247
+ - spec/dummy/config/initializers/wrap_parameters.rb
248
+ - spec/dummy/config/locales/active_record.zh-CN.yml
249
+ - spec/dummy/config/locales/en.yml
250
+ - spec/dummy/config/locales/simple_form.en.yml
251
+ - spec/dummy/config/routes.rb
252
+ - spec/dummy/db/migrate/20130717055253_create_companies.rb
253
+ - spec/dummy/db/schema.rb
254
+ - spec/dummy/lib/assets/.gitkeep
255
+ - spec/dummy/log/.gitkeep
256
+ - spec/dummy/public/404.html
257
+ - spec/dummy/public/422.html
258
+ - spec/dummy/public/500.html
259
+ - spec/dummy/public/area_select_cn/area-bg1.jpg
260
+ - spec/dummy/public/area_select_cn/area-bg2.jpg
261
+ - spec/dummy/public/favicon.ico
262
+ - spec/dummy/script/rails
263
+ - spec/factories/.gitkeep
264
+ - spec/features/visit_testpage_spec.rb
265
+ - spec/helpers/form_spec.rb
266
+ - spec/helpers/simple_form_spec.rb
267
+ - spec/spec_helper.rb
268
+ - spec/support/mock_controller.rb
269
+ - spec/support/view_test_helper.rb