view_mapper 0.3.3 → 0.3.4

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 (81) hide show
  1. data/README.rdoc +3 -1
  2. data/VERSION +1 -1
  3. data/lib/view_mapper.rb +1 -0
  4. data/lib/view_mapper/belongs_to_parent_models.rb +12 -26
  5. data/lib/view_mapper/has_many_child_models.rb +9 -9
  6. data/lib/view_mapper/model_info.rb +56 -18
  7. data/lib/view_mapper/views/belongs_to/belongs_to_view.rb +14 -0
  8. data/lib/view_mapper/views/belongs_to_auto_complete/belongs_to_auto_complete_view.rb +9 -2
  9. data/lib/view_mapper/views/has_many/templates/helper.rb +1 -1
  10. data/lib/view_mapper/views/has_many/templates/view_child_form.html.erb +1 -1
  11. data/lib/view_mapper/views/has_many/templates/view_form.html.erb +1 -1
  12. data/lib/view_mapper/views/has_many_existing/has_many_existing_view.rb +126 -0
  13. data/lib/view_mapper/views/has_many_existing/templates/model.rb +21 -0
  14. data/lib/view_mapper/views/has_many_existing/templates/view_child_form.html.erb +16 -0
  15. data/lib/view_mapper/views/has_many_existing/templates/view_form.html.erb +20 -0
  16. data/lib/view_mapper/views/has_many_existing/templates/view_show.html.erb +26 -0
  17. data/test/generators/scaffold_for_view/scaffold_for_view_generator_test.rb +15 -15
  18. data/test/generators/view_for/view_for_generator_test.rb +18 -18
  19. data/test/model_info_test.rb +91 -20
  20. data/test/test_helper.rb +75 -105
  21. data/test/views/auto_complete/auto_complete_test.rb +104 -102
  22. data/test/views/auto_complete/expected_templates/edit.html.erb +6 -6
  23. data/test/views/auto_complete/expected_templates/expected_routes.rb +1 -1
  24. data/test/views/auto_complete/expected_templates/index.html.erb +10 -10
  25. data/test/views/auto_complete/expected_templates/new.html.erb +5 -5
  26. data/test/views/auto_complete/expected_templates/show.html.erb +6 -6
  27. data/test/views/auto_complete/expected_templates/{testies.html.erb → test_models.html.erb} +1 -1
  28. data/test/views/auto_complete/expected_templates/test_models_controller.rb +89 -0
  29. data/test/views/belongs_to/belongs_to_test.rb +238 -202
  30. data/test/views/belongs_to/expected_templates/_form.html.erb +4 -4
  31. data/test/views/belongs_to/expected_templates/child_model.rb +10 -0
  32. data/test/views/belongs_to/expected_templates/create_child_models.rb +18 -0
  33. data/test/views/belongs_to/expected_templates/edit.html.erb +4 -4
  34. data/test/views/belongs_to/expected_templates/index.html.erb +11 -11
  35. data/test/views/belongs_to/expected_templates/new.html.erb +3 -3
  36. data/test/views/belongs_to/expected_templates/show.html.erb +7 -7
  37. data/test/views/belongs_to_auto_complete/belongs_to_auto_complete_test.rb +440 -406
  38. data/test/views/belongs_to_auto_complete/expected_templates/_form.html.erb +4 -4
  39. data/test/views/belongs_to_auto_complete/expected_templates/child_model.rb +16 -0
  40. data/test/views/belongs_to_auto_complete/expected_templates/{some_other_models.html.erb → child_models.html.erb} +1 -1
  41. data/test/views/belongs_to_auto_complete/expected_templates/child_models_controller.rb +89 -0
  42. data/test/views/belongs_to_auto_complete/expected_templates/create_child_models.rb +18 -0
  43. data/test/views/belongs_to_auto_complete/expected_templates/edit.html.erb +4 -4
  44. data/test/views/belongs_to_auto_complete/expected_templates/expected_routes.rb +2 -2
  45. data/test/views/belongs_to_auto_complete/expected_templates/index.html.erb +11 -11
  46. data/test/views/belongs_to_auto_complete/expected_templates/new.html.erb +3 -3
  47. data/test/views/belongs_to_auto_complete/expected_templates/show.html.erb +7 -7
  48. data/test/views/has_many/expected_templates/_form.html.erb +8 -8
  49. data/test/views/has_many/expected_templates/{_person.html.erb → _second_child_model.html.erb} +5 -5
  50. data/test/views/has_many/expected_templates/create_parent_models.rb +16 -0
  51. data/test/views/has_many/expected_templates/edit.html.erb +4 -4
  52. data/test/views/has_many/expected_templates/index.html.erb +7 -7
  53. data/test/views/has_many/expected_templates/new.html.erb +3 -3
  54. data/test/views/has_many/expected_templates/{parent.rb → parent_model.rb} +5 -5
  55. data/test/views/has_many/expected_templates/show.html.erb +15 -15
  56. data/test/views/has_many/has_many_view_test.rb +334 -292
  57. data/test/views/has_many_existing/expected_templates/_assignment.html.erb +14 -0
  58. data/test/views/has_many_existing/expected_templates/_form.html.erb +16 -0
  59. data/test/views/{has_many/expected_templates/create_parents.rb → has_many_existing/expected_templates/create_programmers.rb} +3 -3
  60. data/test/views/has_many_existing/expected_templates/edit.html.erb +11 -0
  61. data/test/views/has_many_existing/expected_templates/index.html.erb +20 -0
  62. data/test/views/has_many_existing/expected_templates/new.html.erb +10 -0
  63. data/test/views/has_many_existing/expected_templates/programmer.rb +10 -0
  64. data/test/views/has_many_existing/expected_templates/show.html.erb +20 -0
  65. data/test/views/has_many_existing/has_many_existing_test.rb +495 -0
  66. data/test/views/paperclip/expected_templates/{create_testies.rb → create_test_models.rb} +3 -3
  67. data/test/views/paperclip/expected_templates/edit.html.erb +4 -4
  68. data/test/views/paperclip/expected_templates/index.html.erb +10 -10
  69. data/test/views/paperclip/expected_templates/new.html.erb +3 -3
  70. data/test/views/paperclip/expected_templates/show.html.erb +8 -8
  71. data/test/views/paperclip/expected_templates/{testy.rb → test_model.rb} +1 -1
  72. data/test/views/paperclip/paperclip_view_test.rb +254 -226
  73. data/view_mapper.gemspec +43 -27
  74. metadata +64 -37
  75. data/test/views/auto_complete/expected_templates/actual_index +0 -26
  76. data/test/views/auto_complete/expected_templates/testies_controller.rb +0 -89
  77. data/test/views/belongs_to/expected_templates/create_some_other_models.rb +0 -18
  78. data/test/views/belongs_to/expected_templates/some_other_model.rb +0 -10
  79. data/test/views/belongs_to_auto_complete/expected_templates/create_some_other_models.rb +0 -18
  80. data/test/views/belongs_to_auto_complete/expected_templates/some_other_model.rb +0 -16
  81. data/test/views/belongs_to_auto_complete/expected_templates/some_other_models_controller.rb +0 -89
@@ -12,141 +12,143 @@ class AutoCompleteViewTest < Test::Unit::TestCase
12
12
  attr_reader :file_name
13
13
  attr_reader :controller_singular_name
14
14
 
15
- context "A view_for generator instantiated for a test model" do
15
+ context "A rails app that has the auto_complete plugin installed" do
16
16
  setup do
17
- setup_test_model
17
+ ActionController::Base.send(:include, MockAutoComplete)
18
18
  end
19
19
 
20
- should "detect all of the text fields when no auto_complete field is specified" do
21
- gen = new_generator_for_test_model('view_for', ['--view', 'auto_complete'])
22
- assert_contains gen.auto_complete_attributes, 'first_name'
23
- assert_contains gen.auto_complete_attributes, 'last_name'
24
- assert_contains gen.auto_complete_attributes, 'address'
25
- assert_does_not_contain gen.auto_complete_attributes, 'some_flag'
26
- end
27
- end
20
+ context "A view_for generator instantiated for a test model" do
21
+ setup do
22
+ ClassFactory :test_model
23
+ end
28
24
 
29
- context "A scaffold_for_view generator instantiated for a test model" do
30
- setup do
31
- setup_test_model
25
+ should "detect all of the text fields when no auto_complete field is specified" do
26
+ gen = new_generator_for_test_model('view_for', ['--view', 'auto_complete'])
27
+ assert_contains gen.auto_complete_attributes, 'first_name'
28
+ assert_contains gen.auto_complete_attributes, 'last_name'
29
+ assert_contains gen.auto_complete_attributes, 'address'
30
+ assert_does_not_contain gen.auto_complete_attributes, 'some_flag'
31
+ end
32
32
  end
33
33
 
34
- should "return an error message without an auto_complete param" do
35
- Rails::Generator::Base.logger.expects('error').with('No auto_complete attribute specified.')
36
- new_generator_for_test_model('scaffold_for_view', ['--view', 'auto_complete'])
34
+ context "A scaffold_for_view generator instantiated for a test model" do
35
+
36
+ should "return an error message without an auto_complete param" do
37
+ Rails::Generator::Base.logger.expects('error').with('No auto_complete attribute specified.')
38
+ new_generator_for_test_model('scaffold_for_view', ['--view', 'auto_complete'])
39
+ end
37
40
  end
38
- end
39
41
 
40
- generators = %w{ view_for scaffold_for_view }
41
- generators.each do |gen|
42
+ generators = %w{ view_for scaffold_for_view }
43
+ generators.each do |gen|
42
44
 
43
- context "A #{gen} generator instantiated for a test model" do
44
- setup do
45
- setup_test_model
46
- end
45
+ context "A #{gen} generator instantiated for a test model" do
46
+ setup do
47
+ ClassFactory :test_model
48
+ end
47
49
 
48
- should "return an error message with a bad auto_complete param" do
49
- Rails::Generator::Base.logger.expects('error').with('Field \'blah\' does not exist.')
50
- new_generator_for_test_model(gen, ['--view', 'auto_complete:blah'])
51
- end
50
+ should "return an error message with a bad auto_complete param" do
51
+ Rails::Generator::Base.logger.expects('error').with('Field \'blah\' does not exist.')
52
+ new_generator_for_test_model(gen, ['--view', 'auto_complete:blah'])
53
+ end
52
54
 
53
- should "return an error message when the auto_complete param matches a field that is not a text field" do
54
- Rails::Generator::Base.logger.expects('error').with('Field \'some_flag\' is not a text field.')
55
- new_generator_for_test_model(gen, ['--view', 'auto_complete:some_flag'])
55
+ should "return an error message when the auto_complete param matches a field that is not a text field" do
56
+ Rails::Generator::Base.logger.expects('error').with('Field \'some_flag\' is not a text field.')
57
+ new_generator_for_test_model(gen, ['--view', 'auto_complete:some_flag'])
58
+ end
56
59
  end
57
- end
58
60
 
59
- context "A #{gen} generator instantiated for a test model with auto_complete on the first and last name fields" do
60
- setup do
61
- setup_test_model
62
- @gen = new_generator_for_test_model(gen, ['--view', 'auto_complete:first_name,last_name'])
63
- end
61
+ context "A #{gen} generator instantiated for a test model with auto_complete on the first and last name fields" do
62
+ setup do
63
+ ClassFactory :test_model
64
+ @gen = new_generator_for_test_model(gen, ['--view', 'auto_complete:first_name,last_name'])
65
+ end
64
66
 
65
- should "return the proper source root" do
66
- assert_equal File.expand_path(File.dirname(__FILE__) + '/../../..//lib/view_mapper/views/auto_complete/templates'), ViewMapper::AutoCompleteView.source_root
67
- end
67
+ should "return the proper source root" do
68
+ assert_equal File.expand_path(File.dirname(__FILE__) + '/../../..//lib/view_mapper/views/auto_complete/templates'), ViewMapper::AutoCompleteView.source_root
69
+ end
68
70
 
69
- view_for_templates = %w{ new edit index show }
70
- view_for_templates.each do | template |
71
- should "render the #{template} template as expected" do
72
- @attributes = @gen.attributes
73
- @singular_name = @gen.singular_name
74
- @plural_name = @gen.plural_name
71
+ view_for_templates = %w{ new edit index show }
72
+ view_for_templates.each do | template |
73
+ should "render the #{template} template as expected" do
74
+ @attributes = @gen.attributes
75
+ @singular_name = @gen.singular_name
76
+ @plural_name = @gen.plural_name
77
+ @auto_complete_attributes = @gen.auto_complete_attributes
78
+ template_file = File.open(@gen.source_path("view_#{template}.html.erb"))
79
+ result = ERB.new(template_file.read, nil, '-').result(binding)
80
+ expected_file = File.open(File.join(File.dirname(__FILE__), "expected_templates/#{template}.html.erb"), 'rb')
81
+ assert_equal expected_file.read, result
82
+ end
83
+ end
84
+
85
+ should "render the layout template as expected" do
86
+ @controller_class_name = @gen.controller_class_name
87
+ template_file = File.open(@gen.source_path("layout.html.erb"))
88
+ result = ERB.new(template_file.read, nil, '-').result(binding)
89
+ expected_file = File.open(File.join(File.dirname(__FILE__), "expected_templates/test_models.html.erb"))
90
+ assert_equal expected_file.read, result
91
+ end
92
+
93
+ should "render the controller template as expected" do
94
+ @controller_class_name = @gen.controller_class_name
95
+ @table_name = @gen.table_name
96
+ @class_name = @gen.class_name
97
+ @file_name = @gen.file_name
98
+ @controller_singular_name = @gen.controller_singular_name
75
99
  @auto_complete_attributes = @gen.auto_complete_attributes
76
- template_file = File.open(@gen.source_path("view_#{template}.html.erb"))
100
+ template_file = File.open(@gen.source_path("controller.rb"))
77
101
  result = ERB.new(template_file.read, nil, '-').result(binding)
78
- expected_file = File.open(File.join(File.dirname(__FILE__), "expected_templates/#{template}.html.erb"), 'rb')
102
+ expected_file = File.open(File.join(File.dirname(__FILE__), "expected_templates/test_models_controller.rb"))
79
103
  assert_equal expected_file.read, result
80
104
  end
81
105
  end
82
106
 
83
- should "render the layout template as expected" do
84
- @controller_class_name = @gen.controller_class_name
85
- template_file = File.open(@gen.source_path("layout.html.erb"))
86
- result = ERB.new(template_file.read, nil, '-').result(binding)
87
- expected_file = File.open(File.join(File.dirname(__FILE__), "expected_templates/testies.html.erb"))
88
- assert_equal expected_file.read, result
89
- end
107
+ context "A Rails generator script" do
108
+ setup do
109
+ ClassFactory :test_model
110
+ @generator_script = Rails::Generator::Scripts::Generate.new
111
+ end
90
112
 
91
- should "render the controller template as expected" do
92
- @controller_class_name = @gen.controller_class_name
93
- @table_name = @gen.table_name
94
- @class_name = @gen.class_name
95
- @file_name = @gen.file_name
96
- @controller_singular_name = @gen.controller_singular_name
97
- @auto_complete_attributes = @gen.auto_complete_attributes
98
- template_file = File.open(@gen.source_path("controller.rb"))
99
- result = ERB.new(template_file.read, nil, '-').result(binding)
100
- expected_file = File.open(File.join(File.dirname(__FILE__), "expected_templates/testies_controller.rb"))
101
- assert_equal expected_file.read, result
113
+ should "add the proper auto_complete route to routes.rb when run on the #{gen} generator with a valid auto_complete field" do
114
+ Rails::Generator::Commands::Create.any_instance.stubs(:directory)
115
+ Rails::Generator::Commands::Create.any_instance.stubs(:template)
116
+ Rails::Generator::Commands::Create.any_instance.stubs(:route_resources)
117
+ Rails::Generator::Commands::Create.any_instance.stubs(:file)
118
+ Rails::Generator::Commands::Create.any_instance.stubs(:dependency)
119
+ Rails::Generator::Base.logger.stubs(:route)
120
+
121
+ expected_path = File.dirname(__FILE__) + '/expected_templates'
122
+ standard_routes_file = expected_path + '/standard_routes.rb'
123
+ expected_routes_file = expected_path + '/expected_routes.rb'
124
+ test_routes_file = expected_path + '/routes.rb'
125
+ ViewForGenerator.any_instance.stubs(:destination_path).returns test_routes_file
126
+ ScaffoldForViewGenerator.any_instance.stubs(:destination_path).returns test_routes_file
127
+ FileUtils.copy(standard_routes_file, test_routes_file)
128
+ Rails::Generator::Commands::Create.any_instance.stubs(:route_file).returns(test_routes_file)
129
+ @generator_script.run(generator_script_cmd_line(gen, ['--view', 'auto_complete:address']))
130
+ assert_equal File.open(expected_routes_file).read, File.open(test_routes_file).read
131
+ File.delete(test_routes_file)
132
+ end
102
133
  end
103
134
  end
104
135
 
105
136
  context "A Rails generator script" do
106
137
  setup do
107
- setup_test_model
108
138
  @generator_script = Rails::Generator::Scripts::Generate.new
109
139
  end
110
140
 
111
- should "add the proper auto_complete route to routes.rb when run on the #{gen} generator with a valid auto_complete field" do
112
- Rails::Generator::Commands::Create.any_instance.stubs(:directory)
113
- Rails::Generator::Commands::Create.any_instance.stubs(:template)
114
- Rails::Generator::Commands::Create.any_instance.stubs(:route_resources)
115
- Rails::Generator::Commands::Create.any_instance.stubs(:file)
116
- Rails::Generator::Commands::Create.any_instance.stubs(:dependency)
141
+ should "not perform any actions when run on the scaffold_for_view generator with no auto_complete field" do
142
+ Rails::Generator::Commands::Create.any_instance.expects(:directory).never
143
+ Rails::Generator::Commands::Create.any_instance.expects(:template).never
144
+ Rails::Generator::Commands::Create.any_instance.expects(:route_resources).never
145
+ Rails::Generator::Commands::Create.any_instance.expects(:file).never
146
+ Rails::Generator::Commands::Create.any_instance.expects(:route).never
147
+ Rails::Generator::Base.logger.stubs(:error)
117
148
  Rails::Generator::Base.logger.stubs(:route)
118
-
119
- expected_path = File.dirname(__FILE__) + '/expected_templates'
120
- standard_routes_file = expected_path + '/standard_routes.rb'
121
- expected_routes_file = expected_path + '/expected_routes.rb'
122
- test_routes_file = expected_path + '/routes.rb'
123
- ViewForGenerator.any_instance.stubs(:destination_path).returns test_routes_file
124
- ScaffoldForViewGenerator.any_instance.stubs(:destination_path).returns test_routes_file
125
- FileUtils.copy(standard_routes_file, test_routes_file)
126
- Rails::Generator::Commands::Create.any_instance.stubs(:route_file).returns(test_routes_file)
127
- @generator_script.run(generator_script_cmd_line(gen, ['--view', 'auto_complete:address']))
128
- assert_equal File.open(expected_routes_file).read, File.open(test_routes_file).read
129
- File.delete(test_routes_file)
149
+ @generator_script.run(generator_script_cmd_line('scaffold_for_view', ['--view', 'auto_complete']))
130
150
  end
131
151
  end
132
152
  end
133
153
 
134
- context "A Rails generator script" do
135
- setup do
136
- setup_test_model
137
- @generator_script = Rails::Generator::Scripts::Generate.new
138
- end
139
-
140
- should "not perform any actions when run on the scaffold_for_view generator with no auto_complete field" do
141
- Rails::Generator::Commands::Create.any_instance.expects(:directory).never
142
- Rails::Generator::Commands::Create.any_instance.expects(:template).never
143
- Rails::Generator::Commands::Create.any_instance.expects(:route_resources).never
144
- Rails::Generator::Commands::Create.any_instance.expects(:file).never
145
- Rails::Generator::Commands::Create.any_instance.expects(:route).never
146
- Rails::Generator::Base.logger.stubs(:error)
147
- Rails::Generator::Base.logger.stubs(:route)
148
- @generator_script.run(generator_script_cmd_line('scaffold_for_view', ['--view', 'auto_complete']))
149
- end
150
- end
151
-
152
154
  end
@@ -1,14 +1,14 @@
1
- <h1>Editing testy</h1>
1
+ <h1>Editing test_model</h1>
2
2
 
3
- <% form_for(@testy) do |f| %>
3
+ <% form_for(@test_model) do |f| %>
4
4
  <%= f.error_messages %>
5
5
  <p>
6
6
  <%= f.label :first_name %><br />
7
- <%= text_field_with_auto_complete :testy, :first_name, {}, { :method => :get } %>
7
+ <%= text_field_with_auto_complete :test_model, :first_name, {}, { :method => :get } %>
8
8
  </p>
9
9
  <p>
10
10
  <%= f.label :last_name %><br />
11
- <%= text_field_with_auto_complete :testy, :last_name, {}, { :method => :get } %>
11
+ <%= text_field_with_auto_complete :test_model, :last_name, {}, { :method => :get } %>
12
12
  </p>
13
13
  <p>
14
14
  <%= f.label :address %><br />
@@ -23,5 +23,5 @@
23
23
  </p>
24
24
  <% end %>
25
25
 
26
- <%= link_to 'Show', @testy %> |
27
- <%= link_to 'Back', testies_path %>
26
+ <%= link_to 'Show', @test_model %> |
27
+ <%= link_to 'Back', test_models_path %>
@@ -1,5 +1,5 @@
1
1
  ActionController::Routing::Routes.draw do |map|
2
- map.connect 'auto_complete_for_testy_address', :controller => 'testies', :action => 'auto_complete_for_testy_address'
2
+ map.connect 'auto_complete_for_test_model_address', :controller => 'test_models', :action => 'auto_complete_for_test_model_address'
3
3
 
4
4
  # The priority is based upon order of creation: first created -> highest priority.
5
5
 
@@ -1,4 +1,4 @@
1
- <h1>Listing testies</h1>
1
+ <h1>Listing test_models</h1>
2
2
 
3
3
  <table>
4
4
  <tr>
@@ -8,19 +8,19 @@
8
8
  <th>Some flag</th>
9
9
  </tr>
10
10
 
11
- <% @testies.each do |testy| %>
11
+ <% @test_models.each do |test_model| %>
12
12
  <tr>
13
- <td><%=h testy.first_name %></td>
14
- <td><%=h testy.last_name %></td>
15
- <td><%=h testy.address %></td>
16
- <td><%=h testy.some_flag %></td>
17
- <td><%= link_to 'Show', testy %></td>
18
- <td><%= link_to 'Edit', edit_testy_path(testy) %></td>
19
- <td><%= link_to 'Destroy', testy, :confirm => 'Are you sure?', :method => :delete %></td>
13
+ <td><%=h test_model.first_name %></td>
14
+ <td><%=h test_model.last_name %></td>
15
+ <td><%=h test_model.address %></td>
16
+ <td><%=h test_model.some_flag %></td>
17
+ <td><%= link_to 'Show', test_model %></td>
18
+ <td><%= link_to 'Edit', edit_test_model_path(test_model) %></td>
19
+ <td><%= link_to 'Destroy', test_model, :confirm => 'Are you sure?', :method => :delete %></td>
20
20
  </tr>
21
21
  <% end %>
22
22
  </table>
23
23
 
24
24
  <br />
25
25
 
26
- <%= link_to 'New testy', new_testy_path %>
26
+ <%= link_to 'New test_model', new_test_model_path %>
@@ -1,14 +1,14 @@
1
- <h1>New testy</h1>
1
+ <h1>New test_model</h1>
2
2
 
3
- <% form_for(@testy) do |f| %>
3
+ <% form_for(@test_model) do |f| %>
4
4
  <%= f.error_messages %>
5
5
  <p>
6
6
  <%= f.label :first_name %><br />
7
- <%= text_field_with_auto_complete :testy, :first_name, {}, { :method => :get } %>
7
+ <%= text_field_with_auto_complete :test_model, :first_name, {}, { :method => :get } %>
8
8
  </p>
9
9
  <p>
10
10
  <%= f.label :last_name %><br />
11
- <%= text_field_with_auto_complete :testy, :last_name, {}, { :method => :get } %>
11
+ <%= text_field_with_auto_complete :test_model, :last_name, {}, { :method => :get } %>
12
12
  </p>
13
13
  <p>
14
14
  <%= f.label :address %><br />
@@ -23,4 +23,4 @@
23
23
  </p>
24
24
  <% end %>
25
25
 
26
- <%= link_to 'Back', testies_path %>
26
+ <%= link_to 'Back', test_models_path %>
@@ -1,23 +1,23 @@
1
1
  <p>
2
2
  <b>First name:</b>
3
- <%=h @testy.first_name %>
3
+ <%=h @test_model.first_name %>
4
4
  </p>
5
5
 
6
6
  <p>
7
7
  <b>Last name:</b>
8
- <%=h @testy.last_name %>
8
+ <%=h @test_model.last_name %>
9
9
  </p>
10
10
 
11
11
  <p>
12
12
  <b>Address:</b>
13
- <%=h @testy.address %>
13
+ <%=h @test_model.address %>
14
14
  </p>
15
15
 
16
16
  <p>
17
17
  <b>Some flag:</b>
18
- <%=h @testy.some_flag %>
18
+ <%=h @test_model.some_flag %>
19
19
  </p>
20
20
 
21
21
 
22
- <%= link_to 'Edit', edit_testy_path(@testy) %> |
23
- <%= link_to 'Back', testies_path %>
22
+ <%= link_to 'Edit', edit_test_model_path(@test_model) %> |
23
+ <%= link_to 'Back', test_models_path %>
@@ -4,7 +4,7 @@
4
4
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
5
  <head>
6
6
  <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
7
- <title>Testies: <%= controller.action_name %></title>
7
+ <title>TestModels: <%= controller.action_name %></title>
8
8
  <%= stylesheet_link_tag 'scaffold' %>
9
9
  <%= javascript_include_tag :defaults %>
10
10
  </head>
@@ -0,0 +1,89 @@
1
+ class TestModelsController < ApplicationController
2
+
3
+ auto_complete_for :test_model, :first_name
4
+ auto_complete_for :test_model, :last_name
5
+
6
+ # GET /test_models
7
+ # GET /test_models.xml
8
+ def index
9
+ @test_models = TestModel.all
10
+
11
+ respond_to do |format|
12
+ format.html # index.html.erb
13
+ format.xml { render :xml => @test_models }
14
+ end
15
+ end
16
+
17
+ # GET /test_models/1
18
+ # GET /test_models/1.xml
19
+ def show
20
+ @test_model = TestModel.find(params[:id])
21
+
22
+ respond_to do |format|
23
+ format.html # show.html.erb
24
+ format.xml { render :xml => @test_model }
25
+ end
26
+ end
27
+
28
+ # GET /test_models/new
29
+ # GET /test_models/new.xml
30
+ def new
31
+ @test_model = TestModel.new
32
+
33
+ respond_to do |format|
34
+ format.html # new.html.erb
35
+ format.xml { render :xml => @test_model }
36
+ end
37
+ end
38
+
39
+ # GET /test_models/1/edit
40
+ def edit
41
+ @test_model = TestModel.find(params[:id])
42
+ end
43
+
44
+ # POST /test_models
45
+ # POST /test_models.xml
46
+ def create
47
+ @test_model = TestModel.new(params[:test_model])
48
+
49
+ respond_to do |format|
50
+ if @test_model.save
51
+ flash[:notice] = 'TestModel was successfully created.'
52
+ format.html { redirect_to(@test_model) }
53
+ format.xml { render :xml => @test_model, :status => :created, :location => @test_model }
54
+ else
55
+ format.html { render :action => "new" }
56
+ format.xml { render :xml => @test_model.errors, :status => :unprocessable_entity }
57
+ end
58
+ end
59
+ end
60
+
61
+ # PUT /test_models/1
62
+ # PUT /test_models/1.xml
63
+ def update
64
+ @test_model = TestModel.find(params[:id])
65
+
66
+ respond_to do |format|
67
+ if @test_model.update_attributes(params[:test_model])
68
+ flash[:notice] = 'TestModel was successfully updated.'
69
+ format.html { redirect_to(@test_model) }
70
+ format.xml { head :ok }
71
+ else
72
+ format.html { render :action => "edit" }
73
+ format.xml { render :xml => @test_model.errors, :status => :unprocessable_entity }
74
+ end
75
+ end
76
+ end
77
+
78
+ # DELETE /test_models/1
79
+ # DELETE /test_models/1.xml
80
+ def destroy
81
+ @test_model = TestModel.find(params[:id])
82
+ @test_model.destroy
83
+
84
+ respond_to do |format|
85
+ format.html { redirect_to(test_models_url) }
86
+ format.xml { head :ok }
87
+ end
88
+ end
89
+ end