2012-02-29 2 views
6

나는 여기서 무슨 일이 일어나는 지 이해하지 못한다. 내 (haml)보기에 button_to을 넣고 싶습니다. 나는이 할 경우 : OK입니다Rails button_to : 컨트롤러를 지정하는 방법?

<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"}, {}) 

있습니다. 내가 컨트롤러를 지정하려고한다면 :

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

내가 "/editor/new" 될하기 위해 action을 예상하고, 나는 그것이없는 이유를 아무 생각이 없으며, 제대로하는 방법을 지정합니다 :

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

를 내가 얻을 내가 가고 싶은 컨트롤러.

레일 3.2.1을 사용하고 있습니다.

답변

6

, 나는이 인터프리터를 혼동 생각하십시오.

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

은 원하는대로해야합니다.

+0

흠, 확인해도됩니다. 감사! 내가 혼란 스럽다. 왜냐하면 내가 'button_to'에 3 개의 매개 변수를 가진 문서를 읽고 있다고 생각했기 때문이다. http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to –

+0

예 , 나는 왜 link_to와 button_to에 대한 문서가이 점에서 다른지 모르겠다. 그냥 내 대답을 받아들이세요. 감사! – TheDelChop

+0

"이 시점에서 요소 입력시 속성 '컨트롤러'가 허용되지 않습니다."이것은 입력이 '가 아닌 HTML5 유효성 검사 오류입니다. 그것은 단지'type = "submit"과 아마 값과 클래스 등을 포함하고, 부모 폼 태그에 의해 제공된 경로에 의존한다. 다른 대답은'

' – xxjjnn

5

당신은 자신의 해시의 옵션을 포함하지 않을

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

이 답변은 HTML5 =에서 올바르게 유효합니다.) – xxjjnn

관련 문제