gpt4 book ai didi

javascript - DOM 元素属性未定义 - jquery/ruby on Rails

转载 作者:行者123 更新时间:2023-12-03 11:08:20 25 4
gpt4 key购买 nike

我正在开发的 Rails 应用程序遇到问题。对象已成功保存到数据库,但当它们在 DOM 中呈现时,它们的属性最初显示为未定义。当我刷新浏览器时一切都很好。

我不确定这个问题需要在哪里解决。

文档准备就绪:

$(function() {
fetchClientsAndJobs();
});

相关函数:

function fetchClientsAndJobs() {
$.get('/clients').done(function(clientData) {
clientData.forEach(renderClient);
$.get('/jobs').done(function(jobData) {
jobData.forEach(renderJob)
});
});
}

和:

function addClient() {    
var clientNameInput = $('input[name="name"]').val();
var clientRateInput = $('input[name="rate"]').val();
var clientEmailAddress = $('input[name="email-address"]').val();
var newClient = {
client: {
name: clientNameInput,
rate: clientRateInput,
email_address: clientEmailAddress
}
};
$.post('/clients', newClient).done(function(clientData) {
renderClient(clientData)
});
$('input[name="name"]').val('');
$('input[name="rate"]').val('');
$('input[name="email-address"]').val('');
}

Controller 操作:

def create
@client = Client.new(client_params)
@client.user_id = session[:current_user]
if @client.save
redirect_to root_path
else
redirect_to new_client_path
end
end

如有任何意见,我们将不胜感激。谢谢!

最佳答案

您的客户端代码似乎期望创建操作的帖子返回有关新创建的客户端的数据(因为您在 done 中调用 renderClient

但是,您的创建操作会重定向到应用程序的根目录 - 我不知道它会呈现什么,但几乎肯定不是您期望的数据。

通常你会得到类似的东西

respond_to do |format|
format.json { render json: @client } #or whatever you are using to serialize your models to json
format.html { redirect_to root_path }
end

关于javascript - DOM 元素属性未定义 - jquery/ruby on Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27726479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com