Ruby on rails Rails按钮:如何指定控制器?

Ruby on rails Rails按钮:如何指定控制器?,ruby-on-rails,Ruby On Rails,我不明白这里发生了什么。我想在我的(haml)视图中放置一个按钮。如果我这样做: =button_to( "New", {:action => "new"}, {} ) 生成的页面有: <form action="/cached_input_files/new" class="button_to" method="post"> <div> <input type="submit" value="New" /> <input n

我不明白这里发生了什么。我想在我的(haml)视图中放置一个
按钮。如果我这样做:

=button_to( "New", {:action => "new"}, {} )
生成的页面有:

<form action="/cached_input_files/new" class="button_to" method="post">
  <div>
    <input type="submit" value="New" />
    <input name="authenticity_token" type="hidden" value="..blah.." />
  </div>
</form>
我得到:

<form action="/assets?action=new&controller=editor" class="button_to" method="post">
  <div>
    <input type="submit" value="New" />
    ...

...
我希望
操作
“/editor/new”
,但我不知道为什么不是,也不知道如何正确指定要路由到的控制器

我正在使用Rails 3.2.1。

试试看

=button_to( "New", new_editor_path, :method => :get )

您不想将选项包含在它们自己的哈希中,我认为这会让解释器感到困惑

=button_to( "New", :action => "new", :controller => "editor")

应该做你想做的事。

嗯,好的,行了。谢谢但是我很困惑,因为我以为我是在遵循显示有三个参数的
button_to
的文档:是的,我不知道为什么link_to和button_to的文档在这方面有所不同。请投票/接受我的答案!谢谢“此时元素输入上不允许使用属性“controller”是这将创建的HTML5验证错误,因为您的输入类似于
,而不是简单地包含
type=“submit”
,可能还包含值和类等,这取决于父表单标记提供的路径。另一个答案将给出
=button_to( "New", :action => "new", :controller => "editor")