gpt4 book ai didi

javascript - 当 html.erb 不存在时, cucumber 测试 js.erb 功能

转载 作者:行者123 更新时间:2023-11-28 20:16:19 25 4
gpt4 key购买 nike

我的 Rails 应用程序正在为特定窗口使用 js.erb View 而不是 html.erb View 。这在实践中很好用,但是当我对 capybara 使用 cucumber 测试时,它给我一个错误

Missing template admin/groups with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml],    :formats=>[:html], :locale=>[:en, :en]} in view paths

当我单击与此特定 View 相关的按钮时。没有 groups.html.erb 但有一个 groups.js.erb。我想以某种方式告诉 cucumber/capybara 不要尝试渲染 groups.html.erb 但仍然渲染 groups.js.erb。我不想生成不必要的 html 文件来呈现下面的转义 javascript 正在做的事情。

groups.js.erb:

$("#admin_content").html("<%= escape_javascript(render :partial => 'groups') %>");

相关管理 Controller 方法:

def groups
@groups = Group.all
end

最佳答案

您应该对响应使用正确的 MIME 类型处理。试试这个:

def groups
@groups = Group.all
respond_to do |format|
format.js
end
end

最终您可以更具体地说明如何回应:

format.js { render layout: false }

关于 respond_to 的更多信息 here .

注意如果你的controller只管理js响应,你可以在类的顶部添加respond_to :js,然后使用respond_with @object 在你的行动中。

关于javascript - 当 html.erb 不存在时, cucumber 测试 js.erb 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7652122/

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