在 Rails 3 应用程序中,我有一个“表”部分,其中包含一个数据输入表单表,以及一个单独的较小表单(主要是隐藏字段),用于清除表数据。我在部分下面有第三种形式,用于向部分中包含的表添加一个新列。页面加载正常。清除表格数据的小表格有效,并按预期刷新部分。但是,当我提交 add-new-column 表单时,我收到此路由错误:
ActionView::Template::Error (No route matches {:controller=>"outcome_results", :action=>"clear_table"}):
70: </table>
71: <%= submit_tag "Save" %>
72: <% end %>
73: <%= form_tag url_for(:controller => 'outcome_results', :action => 'clear_table'), :id => "clear_data_table_link", :remote => true do %>
74: <%= hidden_field_tag "subgroup_id", subgroup_id %>
75: <%= hidden_field_tag "outcome_id", @selected_outcome_object.id %>
76: <%= hidden_field_tag "timepoint_id", timepoint_id %>
app/views/outcome_results/_table.html.erb:73:in `_app_views_outcome_results__table_html_erb__204353865_18893424_435027370'
app/controllers/outcome_columns_controller.rb:36:in `block (3 levels) in create'
app/controllers/outcome_columns_controller.rb:35:in `block (2 levels) in create'
app/controllers/outcome_columns_controller.rb:33:in `create'
第 72 行是第一个(表格/数据条目)表单的结束标记。第 73 行是我的 clear-table-data 表单的表单标记,它本身可以正常工作 - 那里没有路由错误。
我的 routes.rb 很长,但包含这一行:
match 'projects/:project_id/studies/:study_id/clear_table' => 'outcome_results#clear_table'
add-new-column 表单如下所示:
<div id="outcome_column_validation_message"></div>
<%= form_for @outcome_column, :action => :create, :remote => true, :id=>"outcome_columns_form" do |f| %>
<%= hidden_field_tag "outcome_id", !@selected_outcome_object.nil? ? @selected_outcome_object.id : nil %>
<%= hidden_field_tag "subgroup_id", !@selected_timepoint.nil? ? @selected_timepoint : 0 %>
<%= hidden_field_tag "timepoint_id", !@selected_subgroup.nil? ? @selected_subgroup : 0 %>
<div class="field">
Custom Column Title: <%= f.text_field :name %> Description: <%= f.text_field :description %> <%= f.submit "Add Custom Column" %>
<% end %>
“outcome_column”控制器中“create”操作的格式部分如下所示:
respond_to do |format|
format.js {
render :update do |page|
page.replace_html 'outcome_results_table', :partial => 'outcome_results/table'
page['outcome_columns_form'].reset
page.replace_html 'outcome_column_validation_message', ""
end
}
end
如果有帮助,我可以发布更多代码......有人对此路由错误有任何想法吗?
提前致谢。