【问题标题】:Ajax redirect after create or not?创建或不创建Ajax重定向?
【发布时间】:2023-03-18 12:37:01
【问题描述】:

我在表单中成功使用了 Ajax,但是在创建操作之后我找不到最好的方法是什么?

我正在使用 respond_with 并在 Ajax 调用中使用相同的逻辑,create.js 文件应该在一切正常时呈现部分显示,并在出现问题时呈现带有错误数据的部分 new。 然而,在相同的情况下,show 和 new 动作相当复杂,并且定义了一组在部分中使用的变量。这意味着我必须重复在 create 操作中定义变量的代码,以便能够显示 create.js 文件中的部分内容。

这似乎不是一个好的做法,我怀疑我没有正确使用 Ajax。 我了解到不应在 Ajax 调用后尝试重定向,但我还没有找到任何可以解决我的问题的 create.js 文件示例

像我这样做是好习惯,还是有更好的方法来处理创建操作的输出 阿贾克斯?

【问题讨论】:

    标签: jquery ruby-on-rails ruby ajax


    【解决方案1】:

    如果我正确理解你,如果出现错误,你希望呈现所有“新”表单。

    您不应该这样做,因为屏幕上已经出现了新表单(包含用户键入的数据)。您只能在 ajax 响应中呈现错误块。

    【讨论】:

    • OK 解决了这个问题 - 我可以使用 rails 中的错误助手来做到这一点吗?
    • 其他问题怎么样。我应该渲染部分节目
    • 您可以创建 2 个 js.erb 文件 - create.js.erb 和 errors.js.erb。首先是这样: $('#show').html(' 'show_new')) %>');第二个: $('#error_explanation').html(' 'error_messages')) %>');当然,用你的名字替换部分名称和 DOM id。但逻辑可以是这样。
    猜你喜欢
    • 2018-06-10
    • 2019-04-17
    • 2011-04-10
    • 2021-02-10
    • 1970-01-01
    • 2021-01-30
    • 2016-10-10
    • 2013-02-22
    • 2015-10-06
    相关资源
    最近更新 更多