Рендеринг частичного для строки таблицы с form_tag становится сумасшедшим! - PullRequest
3 голосов
/ 18 июня 2010

У меня есть 23 (столбец) x6 (строка) таблицы и изменить строку с помощью функции link_to_remote.каждый тег tr имеет собственный атрибут id .

change вызов по ссылке изменение действия и изменение действия изменяет строкуиспользование функции рендеринга с частичным.

_change.html.erb

<td id="row_1">1</td>
.
.
omitted
.
.
<td id="row_23">23</td>

функция link_to_remote

<%= link_to_remote 'Change', :update => 'row_1', :url => change_path %>

изменение действия

def change
  logger.debug render :partial => 'change'
end

Если Iзакодировано как выше, все работает хорошо.Это означает, что все измененные столбцы находятся в одной строке .

Но, если я оберну частичный код функцией form_for , как показано ниже ...

<% form_for 'change' do %>
<td id="row_1">1</td>
.
.
omitted
.
.
<td id="row_23">23</td>
<% end %>

Тогда один столбец расположен в одной строке, и этот столбец является первым столбцом.Я просмотрел файл журнала, но это были обычные HTML-теги.

Что не так?

alt text

Ответы [ 2 ]

0 голосов
/ 18 июня 2010

Посмотрите на генерируемый HTML. Неверно иметь td элементы, обернутые form элементами. Ячейки таблицы должны находиться в строках таблицы.

0 голосов
/ 18 июня 2010

вы должны использовать remote_form_for для формы ajax

<% remote_form_for 'change' do %>

вместо

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