Ruby on rails Rails 3.2按钮不传递GET变量

Ruby on rails Rails 3.2按钮不传递GET变量,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,还在学习rails,正在做我的第一个项目 我正在尝试向pages控制器中的新方法传递一个额外的类别变量 def new @page = Page.new @cats = Cat.all end 我这样做是因为新页面已经从下拉菜单中选择了类别 当我使用link_连接到 <%= link_to "Create new page", new_page_path(:cat => @cat.id) %> 但是当我试着用按钮来 <%= button_to "Cre

还在学习rails,正在做我的第一个项目

我正在尝试向pages控制器中的新方法传递一个额外的类别变量

def new
    @page = Page.new
    @cats = Cat.all
end
我这样做是因为新页面已经从下拉菜单中选择了类别

当我使用link_连接到

<%= link_to "Create new page", new_page_path(:cat => @cat.id) %>
但是当我试着用按钮来

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

变量cat未传递给新操作视图。这不是一个大问题,但它搞乱了我的布局,因为我在所有其他地方都使用button_to,我只是希望有更好的方法来解决它,添加更多css,使其看起来相同

一种可能的解决方法是创建一个带有隐藏字段的表单

<%= form_tag new_page_path(), :method => :get do
    hidden_field_tag "cat", @cat.id
    button_to "Create new page"
end %>
您的版本不起作用,因为button_to方法创建的表单仅从输入字段将参数传递到浏览器。

我使用的是漂亮的按钮,它可能也适用于您