2012-02-29 5 views
6

ここで何が起こっているのか分かりません。私はbutton_toを私の(haml)ビューに入れたいと思う。私はこれを行う場合:Rails 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> 

OKですが、私は別のコントローラに対処する必要があります。しかし、私は、コントローラを指定しようとした場合:

=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を使用しています。

答えて

6

が、私はこれはインタプリタを混乱さだと思う試してみてください。

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

は、必要な操作を行う必要があります。

+0

うーん、OKです。ありがとう!私は、私が3つのパラメータで 'button_to'を示すドキュメントに従っていると思ったので混乱しています:http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to –

+0

ええ、なぜ私はlink_toとbutton_toのドキュメントがこの点で異なっているのか分かりません。ちょうどupvote /私の答えを受け入れてください!ありがとう! – TheDelChop

+0

"この時点で要素の入力に属性 'コントローラ'は許可されていません"というのは、入力が 'それは単純に 'type =" submit "と、おそらくValueとClassなどを含み、親フォームタグによって与えられたパスに依存します。もう1つの答えは '

' – xxjjnn

5

は、あなたが自分自身のハッシュのオプションを含めたくない

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

この回答はHTML5 =で正しく検証されています。 – xxjjnn

関連する問題