Commit d89eda9273d95caa17aba76db36a9f447dc778c3
1 parent
9f845b63
Exists in
master
and in
1 other branch
updated blitz, semi formal
Showing
3 changed files
with
15 additions
and
13 deletions
Show diff stats
vendor/plugins/blitz/features/step_definitions/view_steps.rb
| @@ -32,7 +32,7 @@ Then /^a SemiFormal "new" view for "posts" should be generated with fields$/ do | @@ -32,7 +32,7 @@ Then /^a SemiFormal "new" view for "posts" should be generated with fields$/ do | ||
| 32 | " <fieldset class=\"inputs\">\n" << | 32 | " <fieldset class=\"inputs\">\n" << |
| 33 | " <%= form.string :title %>\n" << | 33 | " <%= form.string :title %>\n" << |
| 34 | " <%= form.text :body %>\n" << | 34 | " <%= form.text :body %>\n" << |
| 35 | - " <%= form.collection :user %>\n" << | 35 | + " <%= form.belongs_to :user %>\n" << |
| 36 | " </fieldset>\n" << | 36 | " </fieldset>\n" << |
| 37 | " <fieldset class=\"buttons\">\n" << | 37 | " <fieldset class=\"buttons\">\n" << |
| 38 | " <%= form.submit 'Create', :disable_with => 'Please wait...' %>\n" << | 38 | " <%= form.submit 'Create', :disable_with => 'Please wait...' %>\n" << |
vendor/plugins/blitz/generators/support/generator_helper.rb
| @@ -36,7 +36,7 @@ module Blitz | @@ -36,7 +36,7 @@ module Blitz | ||
| 36 | 36 | ||
| 37 | def name_and_type(column) | 37 | def name_and_type(column) |
| 38 | if belongs_to_column?(column.name) | 38 | if belongs_to_column?(column.name) |
| 39 | - [column.name.gsub("_id", ""), :collection] | 39 | + [column.name.gsub("_id", ""), :belongs_to] |
| 40 | else | 40 | else |
| 41 | [column.name, column.type] | 41 | [column.name, column.type] |
| 42 | end | 42 | end |
vendor/plugins/semi_formal/lib/semi_formal.rb
| @@ -42,25 +42,27 @@ class SemiFormal < ActionView::Helpers::FormBuilder | @@ -42,25 +42,27 @@ class SemiFormal < ActionView::Helpers::FormBuilder | ||
| 42 | "<div>" | 42 | "<div>" |
| 43 | end | 43 | end |
| 44 | 44 | ||
| 45 | - def collection(field, *args) | 45 | + def belongs_to(field, *args) |
| 46 | options = args.extract_options! | 46 | options = args.extract_options! |
| 47 | 47 | ||
| 48 | reflection = @object.class.reflect_on_association(field) | 48 | reflection = @object.class.reflect_on_association(field) |
| 49 | - collection = reflection.class.all.collect {|each| [each.name, each.id] } | 49 | + collection = reflection.klass.all.collect {|each| [each.to_s, each.id] } |
| 50 | 50 | ||
| 51 | - html_options = {} | ||
| 52 | - options[:include_blank] = true | 51 | + options[:select] ||= {} |
| 52 | + options[:select][:include_blank] = true | ||
| 53 | 53 | ||
| 54 | - if [:has_many, :has_and_belongs_to_many].include?(reflection.macro) | ||
| 55 | - html_options[:multiple] ||= true | ||
| 56 | - html_options[:size] ||= 5 | ||
| 57 | - end | ||
| 58 | - | ||
| 59 | - "<div class=\"collection\">" + | 54 | + "<div class=\"belongs_to\">" + |
| 60 | label(field, options[:label] || {}) + | 55 | label(field, options[:label] || {}) + |
| 61 | - select(field, collection, options, html_options) | 56 | + select(field, collection, options[:select] || {}) |
| 62 | "<div>" | 57 | "<div>" |
| 63 | end | 58 | end |
| 59 | + | ||
| 60 | + # has_many? | ||
| 61 | + # if [:has_many, :has_and_belongs_to_many].include?(reflection.macro) | ||
| 62 | + # html_options[:multiple] ||= true | ||
| 63 | + # html_options[:size] ||= 5 | ||
| 64 | + # end | ||
| 65 | + | ||
| 64 | end | 66 | end |
| 65 | 67 | ||
| 66 | ActionView::Base.default_form_builder = SemiFormal | 68 | ActionView::Base.default_form_builder = SemiFormal |