2012-05-29 51 views
1

還在學習rails,做我的第一個項目。Rails 3.2 button_to不傳遞GET變量

我試圖讓新的一頁已經選定的類別從下拉菜單中傳遞一個額外的「類別」變量「新」法在我的「頁面」控制器

def new 
    @page = Page.new 
    @cats = Cat.all 
end 

我做它

它工作時,我使用的link_to

<%= link_to "Create new page", new_page_path(:cat => @cat.id) %> 

,但是當我試圖button_to

使用210
<%= button_to "Create new page", new_page_path(:cat => @cat.id), method: :get %> 

變量「cat」未傳遞到「新」操作視圖。這不是一個大問題,但它擰了我的佈局,因爲我在所有其他地方使用button_to,我只是希望有更好的方式來解決它,添加更多的CSS,因此它會看起來相同

+0

我使用https://github.com/thoughtbot/bourbon查看漂亮的按鈕,它也可能適用於你 –

回答

0

一個可能的的方式來解決這個問題是創建一個形式的隱藏字段

<%= form_tag new_page_path(), :method => :get do 
    hidden_field_tag "cat", @cat.id 
    button_to "Create new page" 
end %> 

您的版本不起作用,因爲「button_to」方法創建只從輸入字段通過PARAMS到瀏覽器的形式。