2010-11-30 2 views
0

Rails 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)를 취합니다. 이 두 매개 변수를 form_tagurl_for에 전달하지 않았으므로 경로와 일치하지 않습니다.

+0

그 덕분에 너무 많이 !! – Sarah

관련 문제