Я хотел бы выполнить запрос ajax, передав некоторые данные из браузера (некоторые текстовые значения в виде строки) и визуализировать представление того же действия, к которому я отправляю запрос с помощью ajax.
Мой рабочий процесс выглядит следующим образом:
Пользователь загружает два файла: calib и: inten.
приложение сохраняет файл с помощью paperclip и анализирует информацию в разных переменных экземпляра.
flash[:notice]
в действие create и сразу же делает список pr доступным для пользователя в виде выпадающего списка в браузере. Есть два частичных _form
и _formTwo
которые оказываются в действии create.
когда я выполняю запрос ajax, я создаю представление, и я запрашиваю другое действие с именем norm
в контроллере.
norm.html.erb
без обновления страницы.Мои коды находятся здесь: http://pastie.org/private/keykmwbzcrv04dfvkufsew
Я пробовал ajax, используя ненавязчивый javascript, но я не знаю, как передать некоторые данные (упомянутые выше) с помощью link_to или button_to helper.
С помощью простого jQuery ajax я могу передавать данные на сервер, но моя страница не является рендерингом. Журнал разработки показывает, что страница отображается, но на странице браузера ничего не меняется. Я знаю, что я что-то упускаю, но не могу понять это?
Выход журнала разработки:
Started POST "/normalize" for 127.0.0.1 at 2014-04-30 13:38:43 +0200
Processing by UploadsController#normalize as */*
Parameters: {"data"=>"17,Poly-T-CY5,EukS_1209_25_dT"}
Upload Load (0.1ms) SELECT 'uploads'.* FROM 'uploads' WHERE 'uploads'.'id' = 17 LIMIT 1
Rendered uploads/_normalize.html.erb (0.2ms)
Rendered uploads/normalize.js.erb (1.0ms)
Completed 200 OK in 4ms (Views: 2.1ms | ActiveRecord: 0.1ms)
Надеюсь, я хорошо объяснил свою проблему, пожалуйста, дайте мне знать, если я не понял себя?
Link_to позволяет передать ему data_hash следующим образом:
<%=link_to("Link",link_path,:data=>{foo:"bar",hello:"goodbye"},remote:true)%>
Глядя на ваш код, еще одна проблема заключается в том, что файл 'norm.html.erb' не является частичным. Чтобы отобразить его из "norm.js.erb", вам нужно переименовать его "_norm.html.erb", поэтому рельсы распознают его как частичное.