Link_to вместо кнопки для отправки формы - PullRequest
0 голосов
/ 20 января 2010

Я новичок в ruby ​​on rails, и я хотел сделать следующее:

У меня есть список с флажками (по одному на строку), и я хотел бы иметь кнопку ссылки (не обычную кнопку или кнопку отправки), поэтому при нажатии на нее я вызываю действие из контроллера.

Мои вопросы:

  1. Как я могу вызвать действие контроллера с помощью link_to?
  2. Как получить значения флажков (какие из них отмечены) и значения полей, чтобы я мог знать, к кому применяется действие? Я привык работать с C #, и в списках есть метод ItemDataBound, в котором вы можете легко получить доступ к каждой строке, скажем, но я не могу представить здесь ничего похожего.

Если это не совсем понятно, я приведу пример:

Допустим, у меня есть следующий "экран":

Удалить (ссылка)

ID статьи | Название статьи

футболка chkbox 1111

брюки chkbox 2222

ботинки chkbox 3333

Теперь, допустим, я хотел бы удалить штаны и ботинки. Поэтому я проверю их флажки, а затем нажму «Удалить». Теперь я хотел бы иметь в своем контроллере Articles, например, метод delete_article (например), а затем получить идентификатор и имя для этих проверенных статей и удалить их.

Спасибо, Brian

Ответы [ 2 ]

2 голосов
/ 20 января 2010

Я бы обернул флажки в форме, а затем отправил бы эту форму, используя ссылку (либо с помощью javascript, либо измените ссылку на кнопку формы и стиль в качестве ссылки).

Rails предполагает RESTful-подход из коробки, поэтому прямая ссылка всегда будет вызывать действие, доступное по GET, на вашем контроллере (обычно индекс или шоу).Действия GET всегда должны быть идемпотентными.

2 голосов
/ 20 января 2010

Вы можете использовать link_to стандартным способом, ознакомьтесь с документацией по rails 'link_to'. Значения из флажков можно получить из хэша params. Просто посмотрите на документацию.

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