Fixed dynamic scaffolding [Stefan Kaes]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1940 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson
2005-07-27 11:44:18 +00:00
parent e95dd53a5d
commit eec7cc004b
2 changed files with 9 additions and 6 deletions

View File

@@ -146,21 +146,24 @@ module ActionController
end
private
def render#{suffix}_scaffold(action = caller_method_name(caller))
def render#{suffix}_scaffold(action=nil)
action ||= caller_method_name(caller)
# logger.info ("testing template:" + "\#{self.class.controller_path}/\#{action}") if logger
if template_exists?("\#{self.class.controller_path}/\#{action}")
render(:action => action)
render_action(action)
else
@scaffold_class = #{class_name}
@scaffold_singular_name, @scaffold_plural_name = "#{singular_name}", "#{plural_name}"
@scaffold_suffix = "#{suffix}"
add_instance_variables_to_assigns
@content_for_layout = @template.render_file(scaffold_path(action.sub(/#{suffix}$/, "")), false)
@template.instance_variable_set("@content_for_layout", @template.render_file(scaffold_path(action.sub(/#{suffix}$/, "")), false))
if !active_layout.nil?
render :file => active_layout, :use_full_path => true
render_file(active_layout, nil, true)
else
render :file => scaffold_path("layout")
render_file(scaffold_path("layout"))
end
end
end

View File

@@ -14,7 +14,7 @@
<% end %>
<td><%= link_to "Show", :action => "show#{@scaffold_suffix}", :id => entry %></td>
<td><%= link_to "Edit", :action => "edit#{@scaffold_suffix}", :id => entry %></td>
<td><%= link_to "Destroy", :action => "destroy#{@scaffold_suffix}", :id => entry, :confirm => "Are you sure?" %></td>
<td><%= link_to "Destroy", {:action => "destroy#{@scaffold_suffix}", :id => entry}, {:confirm => "Are you sure?"} %></td>
</tr>
<% end %>
</table>