Rails - использование флажков для выбора нескольких объектов и выбор действий - PullRequest
2 голосов
/ 13 марта 2010

Я хотел бы иметь возможность создавать флажки для списка объектов.Затем предложите пользователю ряд действий для выполнения над выбранными объектами.Т.е. удаление, архивирование и т. Д.

Я знаю скринкасты Райана, но это не объясняет, как создавать ссылки на несколько действий для выбранных объектов.Это просто показало ему создание form_tag с URL-адресом одного действия и кнопкой отправки.

Ответы [ 2 ]

3 голосов
/ 13 марта 2010

Я думаю, что вы можете сделать это двумя способами.

Во-первых: вы можете добавить к одной форме столько кнопок, сколько хотите:

<%= f.submit "Action 1" %>
<%= f.submit "Action 2" %>
<%= f.submit "Action 3" %>

И все они представлены для одного действия, в котором вы можете проверить:

if params[:commit] == "Action 1"
  do some stuff for action 1
elsif params[:commit] == "Action 2"
  do other stuff
... and so on
end

Другой способ - использовать некоторые js. Например, когда пользователь нажимает кнопку «Действие 2», он изменяет параметр «действие» в форме и отправляет данные этому действию.

EDIT: В случае переведенных сайтов, вы можете сделать это так:

<%= f.submit (I18n.t :action_1) %>

и в контроллере:

if params[:commit] == I18n.t :action_1
...
end

А в en.yml добавить:

action_1: Action 1

В пл.имл добавить:

action_1: Akcja 1

и т. Д.

1 голос
/ 09 декабря 2010

Вы всегда можете изменить название кнопки отправки. Просто ищите params [: button_name] вместо params [: commit].

Вам понадобится какой-то метод в контроллере для обработки возможности update_many объектов. Может быть, фильтр перед отправкой ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...