2013-10-21 2 views
0

같은 양식에 여러 submit_tag 버튼을 어떻게 배치 할 수 있습니까? 지금은 하나의 버튼에서만 작동하지만 form_tag에서 여러 경로를 처리하는 방법을 모르겠습니다.Ruby on rails : 동일한 양식의 복수 submit_tag

Routes.rb

resources :actions do 
    end 
    root 'home#start' 
    match '/home/add', to: 'home#add', via: 'get' 
    match '/home/subtract', to: 'home#subtract', via: 'get' 
    match '/home/multiply', to: 'home#multiply', via: 'get' 

Start.html.erb

<%= form_tag "/home/add",:method => "get" do %> 
<p></p> 
<p> 
<%= label_tag :entered, "Please enter value:" %> </br> 
<%= text_field_tag :entered %> 
</p> 
<p></p> 
<p> 
<%= label_tag :entered2, "Please enter value:" %> </br> 
<%= text_field_tag :entered2 %> 
</p> 
<%= submit_tag "add", :controller => "home", :action => "add" %> 
<%= submit_tag "subtract", :controller => "home", :action => "subtract" %> 
<%= submit_tag "multiply", :controller => "home", :action => "multiply"%> 
<% end %> 

알려 주시기 바랍니다. 미리 감사드립니다.

+0

당신이 자바 스크립트를 통해 그것을해야 당신은 당신의 컨트롤러에서

<%= form_tag "/home/operation",:method => "get" do %> <p></p> <p> <%= label_tag :entered, "Please enter value:" %> </br> <%= text_field_tag :entered %> </p> <p></p> <p> <%= label_tag :entered2, "Please enter value:" %> </br> <%= text_field_tag :entered2 %> </p> <%= submit_tag "Add"%> <%= submit_tag "Subtract"%> <%= submit_tag "Multiply"%> <% end %> 

될 것입니다 볼

*Routes.rb* resources :actions do end root 'home#start' match '/home/operation', to: 'home#add', via: 'get' 

모양을 – userxyz

답변

2

다른 경로로 이동할 수 있는지 여부는 잘 모르겠습니다. 하지만이 도움이 될만한 것이 있습니까?

클릭 한 제출 버튼을 기반으로 컨트롤러에 하나의 작업 만 수행하면됩니다. 당신 노선

class HomeController < ApplicationController 
    def operation 
    send(params[:commit].downcase) #params[:commit] will have one of the values "Add", "Subtract", "Multiply" 
    end 

    private 
    def add 
    #do something 
    end 

    def subtract 
    #do something 
    end 

    def multiple 
    #do something 
    end 
end