Я использую JRails с Ruby on Rails, чтобы я мог просто использовать jQuery, так как я более знаком с ним. Я также пытаюсь использовать Low Pro для удаленной отправки некоторых моих форм.
В настоящее время я сталкиваюсь с интересной проблемой, которая поставила меня в тупик. Я добавил следующее в мой application.js
файл и знаю, что они работают правильно, потому что я вижу возвращенный ответ (используя Firebug в Firefox):
$.ajaxSetup({
dataType: "script"
});
$(function() {
$('a.remote').attach(Remote.Link);
$('form.remote').attach(Remote.Form);
});
Все, что мне нужно сделать, это добавить class="remote"
к своим ссылкам и формам, и все прекрасно работает. Часть dataType: "script"
гарантирует, что она возвращает eval()
в возвращенном тексте ответа, чтобы она могла корректно обновить страницу.
Итак, у меня есть простая ссылка, которая создает новый груз. В моем файле new.js.rjs
есть следующее:
page.insert_html :bottom, '#shipments_table',
:partial => 'test', :locals => { :shipment => @shipment }
Если я заменю это на page.visual_effect :fade, '#shipments_table'
, это произойдет так, как вы ожидаете. Если мой _test.html.erb
файл довольно прост, он тоже работает. Проблема в том, что я пытаюсь добавить <form>
к своему частичному. В зависимости от размещения тегов <form>
возникают различные проблемы. Например, это
<tr>
<form>
<td>Some Text</td>
</form>
</tr>
а это
<form>
<tr>
<td>Some Text</td>
</tr>
</form>
не показывать абсолютно ничего Это
<form></form>
<tr>
<td>Some Text</td>
</tr>
заставит Some Text
появиться, но он потеряет все мое форматирование. И это
<tr>
<td>Some Text</td>
</tr>
<form></form>
работает именно так, как мне нужно (визуально говоря). Однако очевидным недостатком этого является то, что я не могу поместить свои входные данные формы в столбцы таблицы, что в целом делает весь процесс бесполезным. Вероятно, я могу обойти это, просто поместив их все в одну строку внутри <div>
или чего-то подобного, но я бы предпочел, чтобы все было выровнено.
Буду очень признателен за любые идеи относительно решения этой головоломки: -)