2011-12-22 67 views
0

我想執行一個Ruby腳本,使用從Ruby on Rails窗體傳遞給它的參數。在軌道上的紅寶石從窗體傳遞參數到紅寶石腳本

這是一個片段從我來自:

<%= form_for(@test, :html => {:name => "test", :id => "test"}) do |f| %> 
    <div class="field", id="configure_device"> 
     <%= f.label "Label1" %> 
     <%= f.text_field :Form_Param1 %> 
     <%= f.label "Label2" %> 
     <%= f.text_field :Form_Param2 %> 
     <%= f.label "Label3" %> 
     <%= f.text_field :Form_Param3 %> 

< ...這裏更多text_fields ...>

</div> 
    <div class="actions"> 
     <%= button_to 'Apply Configs', :remote=>"true" %> 
    </div> 
<% end %> 

我Ruby腳本的結構如下:

def apply_configs (param1, param2, param3, ..., etc.) 
    <... ruby code that executes based on the values passed in param1, param2, param3 ...> 
end 

我單獨測試了這個Ruby腳本,它工作得很好,如果它接收到正確的輸入參數par am1,param2,param3,.. ,,等等

問題是我怎樣才能執行這個Ruby腳本時,單擊「應用配置」按鈕,我怎麼傳遞給它參數Form_Param1,Form_Param2,Form_Param3,。 ..等等被映射到param1,param2,param3,...等等?

+4

接受一些答案。 – Reactormonk 2011-12-22 10:08:41

回答

0

你必須從params接受它,沒有需要arguments

def apply_configs 
    form_param1 = params[:test][:Form_Param1] 
    form_param2 = params[:test][:Form_Param2] 

    // similarly 

    <... ruby code that executes based on the values passed in param1, param2, param3 ...> 
end 
+0

謝謝dku。我做了這些改變。我是RoR的初學者,所以我現在面臨的挑戰是如何從表單中觸發該腳本?說「def apply_configs ...」位於app/views/test或其他任何位置的文件apply_configs.rb中,那麼在button_to中配置什麼以在單擊該按鈕時執行該Ruby腳本? – rh4games 2011-12-22 17:53:15