Rails:使用控制器渲染 js.erb 模板

2023-12-12

我有一个 Rails 应用程序试图合并一些 AJAX,其中单击“新建”会打开一个模式窗口和一个表单。我希望能够在失败时显示验证错误,因此在我的创建操作中,我考虑重新渲染 new.js.erb 文件。这是正确的方法吗?

def create
    @place = Place.new(params[:place])
    if @place.save
       redirect_to places_path, :notice => "Successfully created place"
    else
       render "new.js.erb"
    end
end

我得到的结果是在浏览器中转义的 js 文本,如下所示:

$("#new_grouping").html("<div class=\"modal-header\">\n  <a class=\"close\" data-   dismiss=\"modal\">×<\/a>\n  <h3>Create a new menu section<\/h3>\n<\/div>\n<form accept-charset=\"UTF-8\" action=\"/places/1-mama-s-pizza/groupings\" class=\"simple_form new_grouping\" id=\"new_grouping\" method=\"post\" novalidate=\"novalidate\">

我尝试过将各种选项放入渲染块中,但没有成功。有小费吗?


最佳实践是支持 AJAX 和非 AJAX 调用,以防用户因任何原因关闭 javascript。

def create
  @place = Place.new(params[:place])

  respond_to do |format|
    if @place.save
      format.html { redirect_to places_path, :notice => "Successfully created place" }
      format.js   # renders create.js.erb, which could be used to redirect via javascript
    else
      format.html { render :action => 'new' }
      format.js { render :action => 'new' }
    end
  end
end

The render :action => 'new'实际上渲染控制器动作的模板new结果是new.html.erb分别到new.js.erb取决于它是非 AJAX 还是 AJAX 调用。

In new.js.erb你的 ERB/javascript 代码是:

$("#new_grouping").html("<%= escape_javascript(...) %>">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails:使用控制器渲染 js.erb 模板 的相关文章

随机推荐

  • 使用WindowManager添加View,但可以按回键

    我使用 WindowManager 添加了一个视图 它正确地显示了我想做的事情 但我有一个问题 这就是问题 返回键按下不会影响 Android 组件 如 Activity 我想要的是我添加的视图可以聚焦 可以单击视图的内部按钮 仅当单击视图
  • 有没有办法在批处理文件中拥有多种字体、文本大小等?

    正如标题所说 我不知道是否有任何可能的方法来做这样的事情 批处理文件中的粗体 斜体 字体 文本大小 以及是否可以在同一文件中使用它们的不同值 这可能是不可能的 但如果是的话 有人可以告诉我怎么做吗 注意 我不想讨论属性或其他什么 我的意思是
  • 创建初始数据库时访问被拒绝 - 如何授予正确的访问权限?

    我正在heroku上使用mysql创建一个新项目 他们有一个名为JawsDB的插件 它为我提供了mysql主机 用户名 密码 更新 我也尝试过使用他们的其他 mysql 插件 ClearDB 并且我有完全相同的问题 我可以像这样连接到数据库
  • 无法为 python 安装 pandas

    我正在尝试为 python 安装 pandas 但我不断收到很长的错误消息 所以我尝试了以下方法 卸载并重新安装 python 版本 3 10 0 通过命令提示符导航到目录来安装 pandas C Users 用户名 AppData Loc
  • 将特定字符串值映射到 matplotlib.pyplot.imshow() 中的特定颜色

    我有一个pandas dataframe看起来像这样 columns 0 1 2 3 4 5 A A A A B B B B B C C D D D E E F F 我想用它来绘制pyplot imshow 指定以下颜色图 color di
  • 如何从 datagridview 创建主详细信息

    这段代码插入数据库 private void btnSave Click object sender EventArgs e byte imageBt null FileStream fstream new FileStream this
  • SQLite 条件插入或替换

    我正在尝试将记录插入或更新到 sqlite 数据库中 并且仅在新值大于旧值时才更新该值 架构是 CREATE table IF NOT EXISTS SearchTable Owner INTEGER PRIMARY KEY Generat
  • 使用 jQuery 进行简单的屏幕抓取

    我一直在考虑使用 jQuery 使用简单的屏幕抓取器的想法 我想知道以下是否可行 我有简单的 HTML 页面 并且正在尝试 如果可能的话 从另一个页面获取所有列表项的内容 如下所示 主页
  • 计算字符串的所有可能的组合,并进行扭曲

    我试图允许用户在文本框中输入文本 并让程序生成所有可能的组合 但最少 3 个字符和最多 6 个字符除外 我不需要像 as 这样无用的单词 a i to 等弄乱了我的数组 我还将根据字典检查每个组合 以确保它是一个真实的单词 我已经完成了字典
  • 计算csv文件中python中的特定出现次数

    我有一个包含 4 列的 csv 文件 标签 用户 质量 Cluster id 使用 python 我想执行以下操作 对于每个 cluster id 从 1 到 500 我想查看每个用户的好标签和坏标签的数量 从质量列获得 有超过6000名用
  • Android studio getSlotFromBufferLocked:未知缓冲区错误

    我想制作一个简单的登录和注册应用程序 以便用户可以创建一个帐户 姓名 用户名 密码 我使用 WAMP 和 MYSQL 数据库来存储帐户 当我在注册表单上填写用户信息并单击 注册 时 出现以下错误 09 14 09 30 39 864 262
  • 是否使用了 static constexpr 变量 odr?

    给出下面的代码是Foo FOO1是否使用 ODR include
  • 使用 Algolia React-instantsearch 和 React-Native

    我正在尝试获取新的 Algolia反应即时搜索使用react native的组件 我一直在关注guide我完全被困住了 基本上 每当我尝试添加我的
  • 可以查看源代码或反编译 XLL Excel 添加

    是否可以在没有原始源代码的情况下查看 XLL Excel 插件的源代码 我猜测这个 XLL 是用 C 编写的 但不确定 IE 可以使用 dotPeek 反编译的 NET DLL 或者可以通过 Developer gt Visual Basi
  • 从 Access 表单调用 SQL Server 函数

    我正在寻找在 Access 前端使用 SQL Server 函数的正确方法 使用它的一种方式相当简单 只需调用函数 使用括号即可 准备就绪 但我一直坚持另一个案子 如果有两个独立的函数 第一个函数用于 编码 第二个函数用于 解码 数据 那会
  • 无法关闭应用程序浏览器窗口

    我可以打开我的窗口 并在其中执行很多操作 例如通过 Linkedin 或 Facebook 登录 但我无法关闭它以返回我的应用程序 1 我尝试捕获事件来跟踪 url 并在 url 包含特定关键字时关闭窗口 但该事件从未被触发 我从来没有任何
  • 使用 Python 的 MSN

    我计划为我运行的游戏创建一个简单的机器人 并将其放在 MSN 上并回答查询 我想使用Python来做到这一点 并用谷歌搜索并发现MSNP 我想 太棒了 和 太棒了 但它似乎已经有 5 年了 奇怪的是 它无法连接到 MSN 因为这些年来他们可
  • Netbeans IDE 中的自动格式化 Javascript

    是否有任何已知的插件或方法可以在 Netbeans IDE 中正确自动格式化 Javascript 编辑 2012 年 9 月 15 日 进一步研究后 我发现 javascript 模块已经被重写 非常需要 您终于可以找到 javascri
  • 不使用存储库模式,按原样使用 ORM (EF)

    我总是使用存储库模式 但对于我最新的项目 我想看看是否可以完善它的使用以及 工作单元 的实现 我开始挖掘得越多 我开始问自己这个问题 我真的需要它吗 现在这一切都始于 Stackoverflow 上的几条评论 可以追溯到 Ayende Ra
  • Rails:使用控制器渲染 js.erb 模板

    我有一个 Rails 应用程序试图合并一些 AJAX 其中单击 新建 会打开一个模式窗口和一个表单 我希望能够在失败时显示验证错误 因此在我的创建操作中 我考虑重新渲染 new js erb 文件 这是正确的方法吗 def create p