我想通過Ajax更新與address
一個textarea:如何在Ruby on Rails中傳遞包含換行符Ajax的值?
的application.js
$("#invoice_project_id").change(function() {
$.ajax({
url: '/invoices/get_recipient',
data: 'project_id=' + this.value,
dataType: 'script'
})
});
invoices_controller.rb
def get_recipient
project = Project.find(params[:project_id])
@recipient = project.person.address
end
get_recipient.js.erb
$('#invoice_recipient').val("<%= @recipient %>");
顯然,textarea不能通過Ajax這種方式填充,可能是由於address
中的換行符。
當我使用另一個屬性,例如first_name
,整個事情的作品相當不錯:
@recipient = project.person.first_name
我如何能得到這個與address
以及工作嗎?
我猜地址內的換行符需要以某種方式逃過一劫,但我還沒有找到一種方法來做到這一點呢。
感謝您的幫助!
,您可以發送文本,而不是腳本,使'VAL()'在阿賈克斯成功更新替代。如果是文字,則不需要換行。如果發送文本將使用'$ .get(url,function(response){$('#invoice_recipient')。val(response);})' – charlietfl
謝謝,但我究竟在哪裏放置該行?你能幫我一個忙,並將其插入我的代碼上面? – Tintin81
將取代所有'$ .ajax'。 '$ .get'是'$ .ajax'的快捷方法,其中一些選項已經設置爲代碼簡化 – charlietfl