使用原型,是否可以“redirect_to”避免处理完整的“js.rjs”代码?

发布于 2024-10-08 11:35:17 字数 667 浏览 8 评论 0原文

在 *user_controller.rb* 文件中,我有这样的代码:

respond_to do |format|
    if test = true
        format.js
    else
        format.js { @yo = true }
    end
end

update.js.rjs 文件中,我有这样的代码

page.redirect_to :action => "index" if @yo == true
page.replace_html...
...

这是一个重定向 Java 响应传递变量的 hack (@yo == true)。不过,我认为最好在大括号中执行类似“redirect_to”的操作避免来处理update.js.rjs中的代码:

respond_to do |format|
    if test = true
        format.js
    else
        format.js { redirect_to ... } # something example
    end
end

但我不知道该怎么做或是否可能。有人可以就这个问题给我建议吗?

In *user_controller.rb* file I have this code:

respond_to do |format|
    if test = true
        format.js
    else
        format.js { @yo = true }
    end
end

In update.js.rjs file I have this code

page.redirect_to :action => "index" if @yo == true
page.replace_html...
...

This is a hack to redirect a Java responce passing a variable (@yo == true). However I think is better to do something like "redirect_to" in braces avoiding to process the code in update.js.rjs:

respond_to do |format|
    if test = true
        format.js
    else
        format.js { redirect_to ... } # something example
    end
end

but I do not know how to do that or whether it is possible. Can anyone advise me on the issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猛虎独行 2024-10-15 11:35:17

您可以在 respond_to 块中使用两个不同的 .js 文件。

respond_to do |format|
    if test = true
        true.js
    else
        false.js
    end
end

You could use two different .js files in your respond_to block.

respond_to do |format|
    if test = true
        true.js
    else
        false.js
    end
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文