2010-11-30 11 views
0

Rails 3アプリケーションでは、データ入力フォームテーブルと、別の小さなフォーム(主に非表示フィールド)を含む「テーブル」部分があります。テーブルのデータをクリアします。私は部分的に含まれているテーブルに新しい列を追加するために、部分の下に3番目のフォームがあります。ページが正常に読み込まれます。テーブルデータを消去する小さなフォームが機能し、想定されているように部分的に更新されます。しかし、私はアドオンの新しい列のフォームを送信すると、私はこのルーティングエラーが発生します。部分的なフォームやフォームと関連があるように見えるルーティングエラー

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行は、自分自身で正常に動作するクリアテーブルデータフォームのフォームタグです。ルーティングエラーはありません。

私のroutes.rbをが長いクレイジーですが、この行が含まれています

match 'projects/:project_id/studies/:study_id/clear_table' => 'outcome_results#clear_table' 

追加 - 新しい列の形式は次のようになります。

<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", [email protected]_outcome_object.nil? ? @selected_outcome_object.id : nil %> 
<%= hidden_field_tag "subgroup_id", [email protected]_timepoint.nil? ? @selected_timepoint : 0 %> 
<%= hidden_field_tag "timepoint_id", [email protected]_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"コントローラのアクションは次のようになります。

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 

このルーティングエラーに関するアイデアはありますか?

ありがとうございます。

答えて

0

このルートには、project_idstudy_idの2つの引数が必要です。これはあなたのform_tagurl_forにこれら2つのパラメータを渡さなかったため、経路に一致しません。

+0

それは、とても感謝しました! – Sarah