Rails button_to:如何指定控制器?

时间:2012-02-29 15:02:10

标签: ruby-on-rails

我不明白这里发生了什么。我想在{haml}视图中添加button_to。如果我这样做:

=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>

这没关系,但我需要解决不同的控制器问题。但是,如果我尝试指定控制器:

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

我明白了:

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

我希望action"/editor/new",我不知道为什么不是,也不知道如何正确指定我想要路由到的控制器。

我正在使用Rails 3.2.1。

2 个答案:

答案 0 :(得分:7)

您不希望将选项包含在自己的哈希中,我认为这会使解释器感到困惑。

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

应该做你想做的事。

答案 1 :(得分:6)

尝试

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