我正在text_area
使用 Ajax 在 Rails 中更新一个简单的内容:
应用程序.js:
$("#invoice_project_id").change(function() {
var value=$(this).val();
$.get('/invoices/get_recipient', {project_id= : value} function(response) {
$('#invoice_recipient').val(response);
})
});
get_recipient.js:
$('#invoice_recipient').val("<%= @recipient.to_s.gsub!(/\n/, '\n') %>");
invoices_controller.rb:
def get_recipient
project = Project.find(params[:project_id])
@recipient = project.person.address
end
该代码运行良好,并将recipient
text_area 的值替换为正确的地址,具体取决于在project
选择菜单中选择的内容。
问题是它只适用addresses
于数据库中已经存在的。(我正在使用Rails Faker gem来填充我的数据库。)当我在我的 Safari 浏览器中手动重新保存a时,当我尝试使用上面的代码进行更新时,text_area 将不再通过 Ajax 进行更新。person
address
这怎么可能?
我已经使用上面的方法转义了换行符gsub!
,所以我想不出我还能做什么。
有人可以帮忙吗?
谢谢...