2014-04-07 2 views
-1

컨트롤러에서 특정 방법으로 양식을 제출해야합니다. 어떻게해야합니까? 내 양식은 다음과 같습니다양식을 특정 방법에 제출하는 방법은 무엇입니까?

내가 제출할
<%= form_tag({update_holidays_path, method: 'post'},{name: "exchange", id: "exchange"}) do %> 
<table width="auto" border="0"> 
    <thead> 
    <th scope="col">Selected</th> 
    <th width="50" scope="col">&nbsp;</th> 
    <th scope="col">Holidays</th> 
    </thead> 
    <tbody> 
    <tr> 
    <td> 
    <% holidays_array = @group.holidays.all.map { |holiday| [holiday.name, holiday.id] } %> 
    <%= select(:holiday_id, :name, options_for_select(holidays_array),{}, 
    {:multiple => true, :style => "width: 300px; background-color: #9FE", :width => "300", :size => 20, :id=>"left" } ) %> 
    </td> 
    <td align="center"> 
     <%= link_to "<<", {anchor: "", remote: true}, {id: "toleft" , w_command: "add_holiday", w_auth: form_authenticity_token , w_controller: "groups", w_id: @group.id} %> 
     <br /><br /> 
     <%= link_to ">>", {anchor: "", remote: true}, {id: "toright" , w_command: "rem_holiday", w_auth: form_authenticity_token , w_controller: "groups", w_id: @group.id} %> 
    </td>  
    <td> 
    <% holidays_array = Holiday.all.map { |holiday| [holiday.name, holiday.id] } %> 
    <%= select(:holiday_id, :name, options_for_select(holidays_array),{}, 
    { :multiple => true, :style => "width: 300px; background-color: #F99", :width => "300", :size => 20, :id=>"right" }) %> 
    </td> 
    </tr> 
    </tbody> 
</table> 

내 다음과 같은 자바 스크립트와 선택 왼쪽 :

var save=function() 
{ 
alert("0"); 
var left = document.getElementById("left"); 
alert(left); 
var result = document.exchange; 
alert(result); 
result= "" 
alert("3"); 
for(i=0;i<right.length;i++) 
    {  
    result.value=result.value+","+left.options[i].value; //right.options[i].selected = true; 
    alert("4,"+i+" "+result.value); 
    } 
alert("5");   
result.submit(); 
} 

이 작업을 수행 할 수있는 방법이 있습니까?

답변

2

변경 update_holidays_path을 컨트롤러 & 동작 경로로 변경하십시오.

1

오픈 터미널. 이것은 당신에게 가능한 모든 경로

예를 들어

의 목록이 제공됩니다 rails_app_root 디렉토리로 이동 rake routes 을 수행

cases GET /cases(.:format)         cases#index 
다음

cases#indexcases 컨트롤러의 이름을 나타냅니다 및 index 것은 그래서 방법 입니다 cases_path이라고 쓰면이 컨트롤러와 동작에 대한 경로가 생성됩니다.

rake routes 목록에서 컨트롤러와 동작에 맞는 경로를 찾으십시오 , 그리고 나서 가장 왼쪽의 텍스트를 선택하고 그 뒤에 _path을 추가하십시오 (위의 예제에서 보여준 것처럼). 그리고 나서 아래 라인의 update_holidays_path을이 새로운 발견 경로로 바꿉니다.

<%= form_tag({update_holidays_path, method: 'post'},{name: "exchange", id: "exchange"}) do %>

그리고 경로가 rake routes 목록에없는 경우 다음 당신은 당신의 routes.rb 파일에이 경로를 추가 할 필요가 EDIT.

관련 문제