首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >运行javascript并提交创建新记录的请求

运行javascript并提交创建新记录的请求
EN

Stack Overflow用户
提问于 2017-02-13 20:24:21
回答 1查看 36关注 0票数 0

所以我使用rails来做这件事。我有一个带有表单和提交按钮的页面,该按钮为我的数据库创建了一个新记录,然后将该页面重定向到一个谢谢页面。这是通过控制器完成的。

然而,我有这个javascript,它在提交按钮被按下时触发,然后更新我的google电子表格。这基本上就是这里的脚本,[http://railsrescue.com/blog/2015-05-28-step-by-step-setup-to-send-form-data-to-google-sheets/][1]

然而,这样做导致了许多问题的发生,我不想在这里详细介绍。所以更好的是,我想问的是,你会建议我如何将这个javascript添加到我的网页上?到目前为止,我刚推了这条线

代码语言:javascript
运行
复制
  <%= javascript_include_tag 'googlesheet' %>

在html页面的底部,然后当按钮被按下时它就会触发。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-13 23:32:42

对于初学者来说,您应该小心,因为生产环境中的行为可能不是您想要的。如果你的JS都被缩小了(就像它应该的那样),那么你要么在服务这一个文件时遇到麻烦,因为它不会在资产管道中,要么你无论如何都会把它包含在所有地方。

除此之外,你所做的并没有什么根本的错误。您可以考虑将googlesheet.js放在/vendor文件夹中,而不是/app文件夹中,因为您是在网上找到它的。

除了我在下面列出的方法之外,还有一些方法可以做到这一点,但它们不是特别有用或特别好。

“适当的”解决方案

您可以将googlesheets.js包含在assets管道中,这将使它对您当前拥有的代码可用。

config/environments/production.rb

代码语言:javascript
运行
复制
config.assets.precompile += ['googlesheets.js']

请参阅Rails指南:http://guides.rubyonrails.org/asset_pipeline.html#precompiling-assets

快速而肮脏的解决方案

如果您正在寻找一种快速而粗糙的方法来完成此操作,一种方法是将JS放入视图中,然后将其包含在您需要的位置。它看起来像这样:

/app/views/javascript/_googlesheet.js.erb

代码语言:javascript
运行
复制
<script>
  // ... the existing code in your "googlesheet.js" file
</script>

然后在您的主视图中(当前调用<%= javascript_include_tag 'googlesheet' %>的位置):

代码语言:javascript
运行
复制
<%= raw render partial: 'javascripts/googlesheet', handlers: [:erb, :coffee], formats: [:js] %>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42203988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档