ajax_scaffold_generator 3.1.4 → 3.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,135 +1,135 @@
1
- class <%= controller_class_name %>Controller < ApplicationController
2
- include AjaxScaffold::Controller
3
-
4
- after_filter :clear_flashes
5
- before_filter :update_params_filter
6
-
7
- def update_params_filter
8
- update_params :default_scaffold_id => "<%= singular_name %>", :default_sort => nil, :default_sort_direction => "asc"
9
- end
10
- <% unless suffix -%>
11
- def index
12
- redirect_to :action => 'list'
13
- end
14
- <% end -%>
15
- def return_to_main
16
- # If you have multiple scaffolds on the same view then you will want to change this to
17
- # to whatever controller/action shows all the views
18
- # (ex: redirect_to :controller => 'AdminConsole', :action => 'index')
19
- redirect_to :action => 'list'
20
- end
21
-
22
- def list
23
- end
24
-
25
- # All posts to change scaffold level variables like sort values or page changes go through this action
26
- def component_update
27
- @show_wrapper = false # don't show the outer wrapper elements if we are just updating an existing scaffold
28
- if request.xhr?
29
- # If this is an AJAX request then we just want to delegate to the component to rerender itself
30
- component
31
- else
32
- # If this is from a client without javascript we want to update the session parameters and then delegate
33
- # back to whatever page is displaying the scaffold, which will then rerender all scaffolds with these update parameters
34
- return_to_main
35
- end
36
- end
37
-
38
- def component
39
- @show_wrapper = true if @show_wrapper.nil?
40
- @sort_sql = <%= model_name %>.scaffold_columns_hash[current_sort(params)].sort_sql rescue nil
41
- @sort_by = @sort_sql.nil? ? "#{<%= model_name %>.table_name}.#{<%= model_name %>.primary_key} asc" : @sort_sql + " " + current_sort_direction(params)
42
- @paginator, @<%= plural_name %> = paginate(:<%= plural_name %>, :order => @sort_by, :per_page => default_per_page)
43
-
44
- render :action => "component", :layout => false
45
- end
46
-
47
- def new
48
- @<%= singular_name %> = <%= model_name %>.new
49
- @successful = true
50
-
51
- return render(:action => 'new.rjs') if request.xhr?
52
-
53
- # Javascript disabled fallback
54
- if @successful
55
- @options = { :action => "create" }
56
- render :partial => "new_edit", :layout => true
57
- else
58
- return_to_main
59
- end
60
- end
61
-
62
- def create
63
- begin
64
- @<%= singular_name %> = <%= model_name %>.new(params[:<%= singular_name %>])
65
- @successful = @<%= singular_name %>.save
66
- rescue
67
- flash[:error], @successful = $!.to_s, false
68
- end
69
-
70
- return render(:action => 'create.rjs') if request.xhr?
71
- if @successful
72
- return_to_main
73
- else
74
- @options = { :scaffold_id => params[:scaffold_id], :action => "create" }
75
- render :partial => 'new_edit', :layout => true
76
- end
77
- end
78
-
79
- def edit
80
- begin
81
- @<%= singular_name %> = <%= model_name %>.find(params[:id])
82
- @successful = !@<%= singular_name %>.nil?
83
- rescue
84
- flash[:error], @successful = $!.to_s, false
85
- end
86
-
87
- return render(:action => 'edit.rjs') if request.xhr?
88
-
89
- if @successful
90
- @options = { :scaffold_id => params[:scaffold_id], :action => "update", :id => params[:id] }
91
- render :partial => 'new_edit', :layout => true
92
- else
93
- return_to_main
94
- end
95
- end
96
-
97
- def update
98
- begin
99
- @<%= singular_name %> = <%= model_name %>.find(params[:id])
100
- @successful = @<%= singular_name %>.update_attributes(params[:<%= singular_name %>])
101
- rescue
102
- flash[:error], @successful = $!.to_s, false
103
- end
104
-
105
- return render(:action => 'update.rjs') if request.xhr?
106
-
107
- if @successful
108
- return_to_main
109
- else
110
- @options = { :action => "update" }
111
- render :partial => 'new_edit', :layout => true
112
- end
113
- end
114
-
115
- def destroy
116
- begin
117
- @successful = <%= model_name %>.find(params[:id]).destroy
118
- rescue
119
- flash[:error], @successful = $!.to_s, false
120
- end
121
-
122
- return render(:action => 'destroy.rjs') if request.xhr?
123
-
124
- # Javascript disabled fallback
125
- return_to_main
126
- end
127
-
128
- def cancel
129
- @successful = true
130
-
131
- return render(:action => 'cancel.rjs') if request.xhr?
132
-
133
- return_to_main
134
- end
135
- end
1
+ class <%= controller_class_name %>Controller < ApplicationController
2
+ include AjaxScaffold::Controller
3
+
4
+ after_filter :clear_flashes
5
+ before_filter :update_params_filter
6
+
7
+ def update_params_filter
8
+ update_params :default_scaffold_id => "<%= singular_name %>", :default_sort => nil, :default_sort_direction => "asc"
9
+ end
10
+ <% unless suffix -%>
11
+ def index
12
+ redirect_to :action => 'list'
13
+ end
14
+ <% end -%>
15
+ def return_to_main
16
+ # If you have multiple scaffolds on the same view then you will want to change this to
17
+ # to whatever controller/action shows all the views
18
+ # (ex: redirect_to :controller => 'AdminConsole', :action => 'index')
19
+ redirect_to :action => 'list'
20
+ end
21
+
22
+ def list
23
+ end
24
+
25
+ # All posts to change scaffold level variables like sort values or page changes go through this action
26
+ def component_update
27
+ @show_wrapper = false # don't show the outer wrapper elements if we are just updating an existing scaffold
28
+ if request.xhr?
29
+ # If this is an AJAX request then we just want to delegate to the component to rerender itself
30
+ component
31
+ else
32
+ # If this is from a client without javascript we want to update the session parameters and then delegate
33
+ # back to whatever page is displaying the scaffold, which will then rerender all scaffolds with these update parameters
34
+ return_to_main
35
+ end
36
+ end
37
+
38
+ def component
39
+ @show_wrapper = true if @show_wrapper.nil?
40
+ @sort_sql = <%= model_name %>.scaffold_columns_hash[current_sort(params)].sort_sql rescue nil
41
+ @sort_by = @sort_sql.nil? ? "#{<%= model_name %>.table_name}.#{<%= model_name %>.primary_key} asc" : @sort_sql + " " + current_sort_direction(params)
42
+ @paginator, @<%= plural_name %> = paginate(:<%= plural_name %>, :order => @sort_by, :per_page => default_per_page)
43
+
44
+ render :action => "component", :layout => false
45
+ end
46
+
47
+ def new
48
+ @<%= singular_name %> = <%= model_name %>.new
49
+ @successful = true
50
+
51
+ return render(:action => 'new.rjs') if request.xhr?
52
+
53
+ # Javascript disabled fallback
54
+ if @successful
55
+ @options = { :action => "create" }
56
+ render :partial => "new_edit", :layout => true
57
+ else
58
+ return_to_main
59
+ end
60
+ end
61
+
62
+ def create
63
+ begin
64
+ @<%= singular_name %> = <%= model_name %>.new(params[:<%= singular_name %>])
65
+ @successful = @<%= singular_name %>.save
66
+ rescue
67
+ flash[:error], @successful = $!.to_s, false
68
+ end
69
+
70
+ return render(:action => 'create.rjs') if request.xhr?
71
+ if @successful
72
+ return_to_main
73
+ else
74
+ @options = { :scaffold_id => params[:scaffold_id], :action => "create" }
75
+ render :partial => 'new_edit', :layout => true
76
+ end
77
+ end
78
+
79
+ def edit
80
+ begin
81
+ @<%= singular_name %> = <%= model_name %>.find(params[:id])
82
+ @successful = !@<%= singular_name %>.nil?
83
+ rescue
84
+ flash[:error], @successful = $!.to_s, false
85
+ end
86
+
87
+ return render(:action => 'edit.rjs') if request.xhr?
88
+
89
+ if @successful
90
+ @options = { :scaffold_id => params[:scaffold_id], :action => "update", :id => params[:id] }
91
+ render :partial => 'new_edit', :layout => true
92
+ else
93
+ return_to_main
94
+ end
95
+ end
96
+
97
+ def update
98
+ begin
99
+ @<%= singular_name %> = <%= model_name %>.find(params[:id])
100
+ @successful = @<%= singular_name %>.update_attributes(params[:<%= singular_name %>])
101
+ rescue
102
+ flash[:error], @successful = $!.to_s, false
103
+ end
104
+
105
+ return render(:action => 'update.rjs') if request.xhr?
106
+
107
+ if @successful
108
+ return_to_main
109
+ else
110
+ @options = { :action => "update" }
111
+ render :partial => 'new_edit', :layout => true
112
+ end
113
+ end
114
+
115
+ def destroy
116
+ begin
117
+ @successful = <%= model_name %>.find(params[:id]).destroy
118
+ rescue
119
+ flash[:error], @successful = $!.to_s, false
120
+ end
121
+
122
+ return render(:action => 'destroy.rjs') if request.xhr?
123
+
124
+ # Javascript disabled fallback
125
+ return_to_main
126
+ end
127
+
128
+ def cancel
129
+ @successful = true
130
+
131
+ return render(:action => 'cancel.rjs') if request.xhr?
132
+
133
+ return_to_main
134
+ end
135
+ end
@@ -1,116 +1,120 @@
1
- require File.dirname(__FILE__) + '<%= "/.." * controller_class_nesting_depth %>/../test_helper'
2
- require '<%= base_controller_file_path %>_controller'
3
-
4
- # Re-raise errors caught by the controller.
5
- class <%= controller_class_name %>Controller; def rescue_action(e) raise e end; end
6
-
7
- class <%= controller_class_name %>ControllerTest < Test::Unit::TestCase
8
- fixtures :<%= table_name %>
9
-
10
- NEW_<%= class_name.upcase %> = {} # e.g. {:name => 'Test <%= class_name %>', :description => 'Dummy'}
11
- REDIRECT_TO_MAIN = {:action => 'list'} # put hash or string redirection that you normally expect
12
-
13
- def setup
14
- @controller = <%= controller_class_name %>Controller.new
15
- @request = ActionController::TestRequest.new
16
- @response = ActionController::TestResponse.new
17
- # Retrieve fixtures via their name
18
- # @first = <%= table_name %>(:first)
19
- @first = <%= class_name %>.find_first
20
- end
21
-
22
- def test_component
23
- get :component
24
- assert_response :success
25
- assert_template '<%= base_controller_file_path %>/component'
26
- <%= table_name %> = check_attrs(%w(<%= table_name %>))
27
- assert_equal <%= class_name %>.find(:all).length, <%= table_name %>.length, "Incorrect number of <%= table_name %> shown"
28
- end
29
-
30
- def test_component_update
31
- get :component_update
32
- assert_response :redirect
33
- assert_redirected_to REDIRECT_TO_MAIN
34
- end
35
-
36
- def test_component_update_xhr
37
- xhr :get, :component_update
38
- assert_response :success
39
- assert_template '<%= base_controller_file_path %>/component'
40
- <%= table_name %> = check_attrs(%w(<%= table_name %>))
41
- assert_equal <%= class_name %>.find(:all).length, <%= table_name %>.length, "Incorrect number of <%= table_name %> shown"
42
- end
43
-
44
- def test_create
45
- <%= class_name.upcase.swapcase %>_count = <%= class_name %>.find(:all).length
46
- post :create, {:<%= class_name.upcase.swapcase %> => NEW_<%= class_name.upcase %>}
47
- <%= class_name.upcase.swapcase %> = check_attrs(%w(<%= class_name.upcase.swapcase %>))
48
- assert_response :redirect
49
- assert_redirected_to REDIRECT_TO_MAIN
50
- assert_equal <%= class_name.upcase.swapcase %>_count + 1, <%= class_name %>.find(:all).length, "Expected an additional <%= class_name %>"
51
- end
52
-
53
- def test_create_xhr
54
- <%= class_name.upcase.swapcase %>_count = <%= class_name %>.find(:all).length
55
- xhr :post, :create, {:<%= class_name.upcase.swapcase %> => NEW_<%= class_name.upcase %>}
56
- <%= class_name.upcase.swapcase %> = check_attrs(%w(<%= class_name.upcase.swapcase %>))
57
- assert_response :success
58
- assert_template 'create.rjs'
59
- assert_equal <%= class_name.upcase.swapcase %>_count + 1, <%= class_name %>.find(:all).length, "Expected an additional <%= class_name %>"
60
- end
61
-
62
- def test_update
63
- <%= class_name.upcase.swapcase %>_count = <%= class_name %>.find(:all).length
64
- post :update, {:id => @first.id, :<%= class_name.upcase.swapcase %> => @first.attributes.merge(NEW_<%= class_name.upcase %>)}
65
- <%= class_name.upcase.swapcase %> = check_attrs(%w(<%= class_name.upcase.swapcase %>))
66
- <%= class_name.upcase.swapcase %>.reload
67
- NEW_<%= class_name.upcase %>.each do |attr_name|
68
- assert_equal NEW_<%= class_name.upcase %>[attr_name], <%= class_name.upcase.swapcase %>.attributes[attr_name], "@<%= class_name.upcase.swapcase %>.#{attr_name.to_s} incorrect"
69
- end
70
- assert_equal <%= class_name.upcase.swapcase %>_count, <%= class_name %>.find(:all).length, "Number of <%= class_name %>s should be the same"
71
- assert_response :redirect
72
- assert_redirected_to REDIRECT_TO_MAIN
73
- end
74
-
75
- def test_update_xhr
76
- <%= class_name.upcase.swapcase %>_count = <%= class_name %>.find(:all).length
77
- xhr :post, :update, {:id => @first.id, :<%= class_name.upcase.swapcase %> => @first.attributes.merge(NEW_<%= class_name.upcase %>)}
78
- <%= class_name.upcase.swapcase %> = check_attrs(%w(<%= class_name.upcase.swapcase %>))
79
- <%= class_name.upcase.swapcase %>.reload
80
- NEW_<%= class_name.upcase %>.each do |attr_name|
81
- assert_equal NEW_<%= class_name.upcase %>[attr_name], <%= class_name.upcase.swapcase %>.attributes[attr_name], "@<%= class_name.upcase.swapcase %>.#{attr_name.to_s} incorrect"
82
- end
83
- assert_equal <%= class_name.upcase.swapcase %>_count, <%= class_name %>.find(:all).length, "Number of <%= class_name %>s should be the same"
84
- assert_response :success
85
- assert_template 'update.rjs'
86
- end
87
-
88
- def test_destroy
89
- <%= class_name.upcase.swapcase %>_count = <%= class_name %>.find(:all).length
90
- post :destroy, {:id => @first.id}
91
- assert_response :redirect
92
- assert_equal <%= class_name.upcase.swapcase %>_count - 1, <%= class_name %>.find(:all).length, "Number of <%= class_name %>s should be one less"
93
- assert_redirected_to REDIRECT_TO_MAIN
94
- end
95
-
96
- def test_destroy_xhr
97
- <%= class_name.upcase.swapcase %>_count = <%= class_name %>.find(:all).length
98
- xhr :post, :destroy, {:id => @first.id}
99
- assert_response :success
100
- assert_equal <%= class_name.upcase.swapcase %>_count - 1, <%= class_name %>.find(:all).length, "Number of <%= class_name %>s should be one less"
101
- assert_template 'destroy.rjs'
102
- end
103
-
104
- protected
105
- # Could be put in a Helper library and included at top of test class
106
- def check_attrs(attr_list)
107
- attrs = []
108
- attr_list.each do |attr_sym|
109
- attr = assigns(attr_sym.to_sym)
110
- assert_not_nil attr, "Attribute @#{attr_sym} should not be nil"
111
- assert !attr.new_record?, "Should have saved the @#{attr_sym} obj" if attr.class == ActiveRecord
112
- attrs << attr
113
- end
114
- attrs.length > 1 ? attrs : attrs[0]
115
- end
116
- end
1
+ require File.dirname(__FILE__) + '<%= "/.." * controller_class_nesting_depth %>/../test_helper'
2
+ require '<%= base_controller_file_path %>_controller'
3
+
4
+ # Re-raise errors caught by the controller.
5
+ class <%= controller_class_name %>Controller; def rescue_action(e) raise e end; end
6
+
7
+ class <%= controller_class_name %>ControllerTest < Test::Unit::TestCase
8
+ fixtures :<%= table_name %>
9
+
10
+ NEW_<%= singular_name.upcase %> = {} # e.g. {:name => 'Test <%= class_name %>', :description => 'Dummy'}
11
+ REDIRECT_TO_MAIN = {:action => 'list'} # put hash or string redirection that you normally expect
12
+
13
+ def setup
14
+ @controller = <%= controller_class_name %>Controller.new
15
+ @request = ActionController::TestRequest.new
16
+ @response = ActionController::TestResponse.new
17
+ # Retrieve fixtures via their name
18
+ # @first = <%= table_name %>(:first)
19
+ @first = <%= class_name %>.find_first
20
+ end
21
+
22
+ def test_component
23
+ get :component
24
+ assert_response :success
25
+ assert_template '<%= base_controller_file_path %>/component'
26
+ <%= table_name %> = check_attrs(%w(<%= table_name %>))
27
+ assert_equal <%= class_name %>.find(:all).length, <%= table_name %>.length, "Incorrect number of <%= table_name %> shown"
28
+ end
29
+
30
+ def test_component_update
31
+ get :component_update
32
+ assert_response :redirect
33
+ assert_redirected_to REDIRECT_TO_MAIN
34
+ end
35
+
36
+ def test_component_update_xhr
37
+ xhr :get, :component_update
38
+ assert_response :success
39
+ assert_template '<%= base_controller_file_path %>/component'
40
+ <%= table_name %> = check_attrs(%w(<%= table_name %>))
41
+ assert_equal <%= class_name %>.find(:all).length, <%= table_name %>.length, "Incorrect number of <%= table_name %> shown"
42
+ end
43
+
44
+ def test_create
45
+ <%= singular_name %>_count = <%= class_name %>.find(:all).length
46
+ post :create, {:<%= singular_name %> => NEW_<%= singular_name.upcase %>}
47
+ <%= singular_name %>, successful = check_attrs(%w(<%= singular_name %> successful))
48
+ assert successful, "Should be successful"
49
+ assert_response :redirect
50
+ assert_redirected_to REDIRECT_TO_MAIN
51
+ assert_equal <%= singular_name %>_count + 1, <%= class_name %>.find(:all).length, "Expected an additional <%= class_name %>"
52
+ end
53
+
54
+ def test_create_xhr
55
+ <%= singular_name %>_count = <%= class_name %>.find(:all).length
56
+ xhr :post, :create, {:<%= singular_name %> => NEW_<%= singular_name.upcase %>}
57
+ <%= singular_name %>, successful = check_attrs(%w(<%= singular_name %> successful))
58
+ assert successful, "Should be successful"
59
+ assert_response :success
60
+ assert_template 'create.rjs'
61
+ assert_equal <%= singular_name %>_count + 1, <%= class_name %>.find(:all).length, "Expected an additional <%= class_name %>"
62
+ end
63
+
64
+ def test_update
65
+ <%= singular_name %>_count = <%= class_name %>.find(:all).length
66
+ post :update, {:id => @first.id, :<%= singular_name %> => @first.attributes.merge(NEW_<%= singular_name.upcase %>)}
67
+ <%= singular_name %>, successful = check_attrs(%w(<%= singular_name %> successful))
68
+ assert successful, "Should be successful"
69
+ <%= singular_name %>.reload
70
+ NEW_<%= singular_name.upcase %>.each do |attr_name|
71
+ assert_equal NEW_<%= singular_name.upcase %>[attr_name], <%= singular_name %>.attributes[attr_name], "@<%= singular_name %>.#{attr_name.to_s} incorrect"
72
+ end
73
+ assert_equal <%= singular_name %>_count, <%= class_name %>.find(:all).length, "Number of <%= class_name %>s should be the same"
74
+ assert_response :redirect
75
+ assert_redirected_to REDIRECT_TO_MAIN
76
+ end
77
+
78
+ def test_update_xhr
79
+ <%= singular_name %>_count = <%= class_name %>.find(:all).length
80
+ xhr :post, :update, {:id => @first.id, :<%= singular_name %> => @first.attributes.merge(NEW_<%= singular_name.upcase %>)}
81
+ <%= singular_name %>, successful = check_attrs(%w(<%= singular_name %> successful))
82
+ assert successful, "Should be successful"
83
+ <%= singular_name %>.reload
84
+ NEW_<%= singular_name.upcase %>.each do |attr_name|
85
+ assert_equal NEW_<%= singular_name.upcase %>[attr_name], <%= singular_name %>.attributes[attr_name], "@<%= singular_name %>.#{attr_name.to_s} incorrect"
86
+ end
87
+ assert_equal <%= singular_name %>_count, <%= class_name %>.find(:all).length, "Number of <%= class_name %>s should be the same"
88
+ assert_response :success
89
+ assert_template 'update.rjs'
90
+ end
91
+
92
+ def test_destroy
93
+ <%= singular_name %>_count = <%= class_name %>.find(:all).length
94
+ post :destroy, {:id => @first.id}
95
+ assert_response :redirect
96
+ assert_equal <%= singular_name %>_count - 1, <%= class_name %>.find(:all).length, "Number of <%= class_name %>s should be one less"
97
+ assert_redirected_to REDIRECT_TO_MAIN
98
+ end
99
+
100
+ def test_destroy_xhr
101
+ <%= singular_name %>_count = <%= class_name %>.find(:all).length
102
+ xhr :post, :destroy, {:id => @first.id}
103
+ assert_response :success
104
+ assert_equal <%= singular_name %>_count - 1, <%= class_name %>.find(:all).length, "Number of <%= class_name %>s should be one less"
105
+ assert_template 'destroy.rjs'
106
+ end
107
+
108
+ protected
109
+ # Could be put in a Helper library and included at top of test class
110
+ def check_attrs(attr_list)
111
+ attrs = []
112
+ attr_list.each do |attr_sym|
113
+ attr = assigns(attr_sym.to_sym)
114
+ assert_not_nil attr, "Attribute @#{attr_sym} should not be nil"
115
+ assert !attr.new_record?, "Should have saved the @#{attr_sym} obj" if attr.class == ActiveRecord
116
+ attrs << attr
117
+ end
118
+ attrs.length > 1 ? attrs : attrs[0]
119
+ end
120
+ end
@@ -1,36 +1,36 @@
1
- <%% # The following is used when the browser doesn't have javascript enabled %>
2
- <%% classAttr = cycle("", "class=\"even\"") %>
3
- <%% @options = params.merge(:controller => '<%= controller_file_path %>', :action => "view", :id => <%= singular_name %>.send("#{<%= model_name %>.primary_key}")) %>
4
-
5
- <tr <%%= classAttr %> id="<%%= element_row_id(@options) %>" <%%= "style=\"display: none;\"" if hidden %>>
6
- <%% for scaffold_column in scaffold_columns %>
7
- <%% column_value = eval(scaffold_column.eval) rescue nil %>
8
- <td class="<%%= column_class(scaffold_column.name, column_value, current_sort(params)) %>" >
9
- <%%= format_column(column_value) %>
10
- </td>
11
- <%% end %>
12
- <td class="actions">
13
- <table cellpadding="0" cellspacing="0">
14
- <tr>
15
- <td class="indicator-container">
16
- <%%= loading_indicator_tag(@options) %>
17
- </td>
18
- <td>
19
- <%% edit_options = @options.merge(:action => 'edit') %>
20
- <%%= link_to_remote "Edit",
21
- { :url => edit_options,
22
- :loading => "Element.show('#{loading_indicator_id(@options)}');" },
23
- { :href => url_for(edit_options) } %>
24
- </td>
25
- <td>
26
- <%% delete_options = @options.merge(:action => 'destroy') %>
27
- <%%= link_to_remote "Delete",
28
- { :url => delete_options,
29
- :confirm => 'Are you sure?',
30
- :loading => "Element.show('#{loading_indicator_id(@options)}');" },
31
- { :href => url_for( delete_options ) } %>
32
- </td>
33
- </tr>
34
- </table>
35
- </td>
36
- </tr>
1
+ <%% # The following is used when the browser doesn't have javascript enabled %>
2
+ <%% classAttr = cycle("", "class=\"even\"") %>
3
+ <%% @options = params.merge(:controller => '<%= controller_file_path %>', :action => "view", :id => <%= singular_name %>.send("#{<%= model_name %>.primary_key}")) %>
4
+
5
+ <tr <%%= classAttr %> id="<%%= element_row_id(@options) %>" <%%= "style=\"display: none;\"" if hidden %>>
6
+ <%% for scaffold_column in scaffold_columns %>
7
+ <%% column_value = eval(scaffold_column.eval) rescue nil %>
8
+ <td class="<%%= column_class(scaffold_column.name, column_value, current_sort(params)) %>" >
9
+ <%%= format_column(column_value) %>
10
+ </td>
11
+ <%% end %>
12
+ <td class="actions">
13
+ <table cellpadding="0" cellspacing="0">
14
+ <tr>
15
+ <td class="indicator-container">
16
+ <%%= loading_indicator_tag(@options) %>
17
+ </td>
18
+ <td>
19
+ <%% edit_options = @options.merge(:action => 'edit') %>
20
+ <%%= link_to_remote "Edit",
21
+ { :url => edit_options,
22
+ :loading => "Element.show('#{loading_indicator_id(@options)}');" },
23
+ { :href => url_for(edit_options) } %>
24
+ </td>
25
+ <td>
26
+ <%% delete_options = @options.merge(:action => 'destroy') %>
27
+ <%%= link_to_remote "Delete",
28
+ { :url => delete_options,
29
+ :confirm => 'Are you sure?',
30
+ :loading => "Element.show('#{loading_indicator_id(@options)}');" },
31
+ { :href => url_for( delete_options ) } %>
32
+ </td>
33
+ </tr>
34
+ </table>
35
+ </td>
36
+ </tr>