Rails button_to: как указать контроллер? - PullRequest
6 голосов
/ 29 февраля 2012

Я не понимаю, что здесь происходит.Я хочу поставить 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 ]

7 голосов
/ 29 февраля 2012

Вы не хотите включать опции в их собственный хеш, я думаю, что это сбивает с толку интерпретатора.

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

должен делать то, что вы хотите.

6 голосов
/ 29 февраля 2012

Попробуйте

=button_to( "New", new_editor_path, :method => :get )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...