2010-06-21 56 views
10

所以..Ruby on Rails的:如何有多個提交按鈕會不同的方法

<%= submit_tag 'Save', :name => 'save' %> 
<%= submit_tag 'Save to Library', :name => 'library' %> 

然後在我的控制器(可能與with_action?):

with_action do |a| 
    a.save do 

    end 

    a.library do 

    end 
end 

的問題是,只有其中一個操作正在被調用...兩個submit_tags都是同一個... 任何想法爲什麼?

或者我怎麼能得到兩個按鈕來提交表單到兩種不同的方法?

回答

17

提交按鈕名稱屬性作爲params [:commit]傳遞給控制器​​。 所以你的情況:

if params[:commit] == "save" 
end 
+0

我做了一個看跌期權參數,可以 並沒有一個:犯params哈希表... = \ – NullVoxPopuli 2010-06-21 17:30:36

+0

是什麼params哈希表包含關鍵? – 2010-06-21 17:33:38

+1

當我使用:名稱沒有:提交。 wehn我不使用:name,:commit是按鈕的文本 – NullVoxPopuli 2010-06-21 18:04:52