首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js.erb不能在rails 6中渲染

在Rails 6中,不再支持使用.js.erb文件进行渲染。这是因为Rails 6引入了Webpacker作为默认的JavaScript打包工具,它使用了ES6模块化的方式来管理和加载JavaScript代码。

在Rails 6中,推荐使用Webpacker来处理JavaScript代码。Webpacker允许你使用现代的JavaScript语法,如ES6模块化、箭头函数等,并且可以方便地集成各种前端框架和库。

如果你想在Rails 6中渲染JavaScript代码,可以使用.js文件来代替.js.erb文件。你可以将JavaScript代码放在app/javascript目录下,并通过Webpacker进行打包和加载。

对于需要在JavaScript中使用Rails的视图变量或路由等信息的情况,可以使用data属性将这些数据传递给JavaScript代码。例如,在视图中可以这样定义一个data属性:

代码语言:txt
复制
<%= content_tag :div, '', data: { my_variable: @my_variable } %>

然后,在JavaScript代码中可以通过element.dataset来获取这个data属性的值:

代码语言:txt
复制
const myVariable = document.querySelector('div').dataset.myVariable;

对于需要在Rails视图中执行一些动态操作的情况,可以考虑使用Ajax请求来获取数据并更新页面内容。

总结起来,Rails 6不再支持使用.js.erb文件进行渲染,推荐使用Webpacker来处理JavaScript代码,并通过data属性传递数据给JavaScript代码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

可以使用框架但千万不要依赖框架

框架强制使用公共的约定,因此它能有效地解决一些共有的问题,比如页面渲染,assert判断,安全或者应用配置等。这些共有的问题有个共通的特性是会在每个web应用上都用到。...由于框架能在我们做代码决策的时候提供很多的帮助,因此我们就变得懒了起来。我们不去考虑如何使用抽象思维搭建一个干净清晰的系统,不去考虑最后的代码是否干净清晰,却依赖着框架来替我们实现这些需求。...我已经听见好多人抱怨过Rails了:“Rails应用总是糟糕的结构”或者“Rails测试总是这么慢”。最 开始,我也曾经这么认为。但是现在,每当我听到这些抱怨的时候,我就会意识到其实抱怨者是懒惰的。...Rails,或者其他框架,只是一个工具而已,你要做的 是控制它。把坏代码归咎于无生命的框架只能说明你的专业。 选择正确的工具,或者正确地使用工具 使用框架开发也是在写代码。

1K50

Web Hacking 101 中文版 十六、模板注入

这个漏洞在应用使用客户端模板框架时出现,例如 AngularJS,将用户内容嵌入到 Web 页面中而处理它。它非常类似于 SSTI,除了它是个客户端框架,产生了漏洞。...Rails 动态渲染器 难度:中 URL:无 报告链接:https://nvisium.com/blog/2016/01/26/rails-dynamic-render-to-rce-cve-2016-...基于他们的 WriteUp,RoR 的控制器在 Rails APP 中负责业务逻辑。这个框架提供了一些不错的健壮的功能,包括哪些内容需要渲染用户,基于传给渲染方法的简单值。...使用这个功能,开发者就能够接收在 URL 中传入的参数,将其传给 Rails,它用于判断要渲染的文件。...但是,当你让 Rails 渲染一些东西,并且它找不到合适的文件来使用,他就会在RAILS_ROOT/app/views,RAILS_ROOT和系统根目录中搜索。 这就是问题的一部分。

3.7K10

精选 Flexport 在 HackerOne 这一年 6 个有趣的安全漏洞

教训: React 阻止了 XSS 代表所有代码都是安全的。对所有在 React 之外工作的库都不能信任,并且要尽可能地避免使用它们。...2 Markdown 渲染中的 XSS 漏洞 在修复了 Bootbox 并检查了我们其它类似的库之后,我们收到了第二个 XSS 漏洞报告——这次存在于我们的 Markdown 渲染中。...5 暴力破解 2FA 转到我们的 Ruby on Rails 后端,我们收到了两份值得注意的报告,都涉及了我们的双重认证。...原因: 我们使用 Authy 作为我们的 2FA 合作伙伴,他们的 rails gem 不包括任何内置的速率限制。 修复: 修复方法很简单:我们添加了速率限制,即在多次错误尝试后锁定账户。...Authy rails gem hook 住 Devise (一个受欢迎的 rails 认证/用户管理库),并在登录后使用以下代码要求 2FA: def check_request_and_redirect_to_verify_token

2.3K80

让小型企业提高 20 倍效率的统一技术栈

我们尽可能在产品之间共享代码。Web、移动端和服务器上的类似逻辑保存在一个共享的 Atmos 库中,技术栈的所有部分都可以访问。...其次,因为大多数业务逻辑都是共享的,所以在 Web 上使用一个不好理解的功能,同时也为该功能在移动端的实现提供了基本的移动测试覆盖。...Web 端使用客户端渲染的 React,移动端使用 React Native/Expo。 依赖关系会定期更新和审计。...Swift iOS、Kotlin Android、Django/Rails for Web & 服务器—— 注:3 种语言,但全是原生的,这会失去本文介绍的大多数好处。...Rails for Web、iOS、Android & 服务器(Hey.com 的风格),移动应用导航本地渲染。注:1 种语言,新方法,或许已经过实战检验?

1.5K20

慢的不是 Ruby,而是你的数据库

同样地,由于查询操作非常简单,涉及复杂内容,因此在数据库中所花费的时间非常有限。...写入(创建、插入、更新、删除等)则不然:数据库可能在某个时刻成为瓶颈。除非永远如此:但性能从一开始就并非问题。 解决 Ruby 代码中的性能问题轻而易举:只需增加更多服务器。...我需要运行两个版本 2000 多次,然后我花在开发 Rust 版本上的额外时间才能在等待它运行的额外时间中得到回报。...但这说明了另一个重要问题:数据库运行在单独的线程中,甚至可能在单独的硬件上。因此负载是分布式的:在 SQLite 和我们的内存示例中,一个 Ruby 线程完成了所有的过滤、获取和提升。...根据你的设置,Ruby 线程甚至可能在数据库进行查找时继续工作。在这种情况下,经过优化以过滤和获取数据的 Postgresql 可以比 SQLite-inside-ruby 更快地完成这项工作。

12130

重新使用Java的七个理由

我们中很多人一直在开发中首选Java(也可能是被迫的),但是对于新兴公司、web开发者等拥有平台选择权利的人来说,过去的10年中很多非常规的平台提供了更加敏捷和令人印象深刻的效果,像PHP、Ruby on Rails...你能雇佣真正的工程师 当你的Node.js忍者和Rails摇滚明星被资金雄厚的新公司猎走时没必要嗤之以鼻,因为你能雇佣到真正的工程师。 2....你能在Rbuy、Python等自己熟悉的环境里天马行书,同时还享受便携JVM运行时带来的各种好处,也许还能比纯写Java更快。更别提像Scala、Groovy这些最新的、引领编程潮流的新潮语言了。...如果你1个小时更新Hacker News的页面,任何存活1年以上的软件都会陷入痛苦的维护泥沼,因为底层平台一直日新月异的变化着。是的,说的就是你,Rails。 7.

58910

不要学习“网红”编程语言

Ruby on Rails (也简称为 Rails)是一个使用 Ruby 编程语言的开源 Web 应用程序框架,曾一度大受欢迎,Rails 的出现极大的推动了 Ruby 语言的发展。...在 2004 年之后,Rails 社区贡献出了广泛的插件(Gems)、书籍(光 2006 年就有 10 本关于 Rails 的书籍问世)、培训、一个主要会议(RubyConf)等等。...私底下使用 Ruby 解决此问题,尽可能在管理层发现不了的情况下工作。 创建一个草根阶级联盟,通过培养文化的方式培养 Ruby 布道者。...现在,Ruby 确实咋行了 接下来,让我们一起从课程、实践、社区情况来看看当年盛极一时的网红编程语言发展现状。 现在,很多朋友可能注意到,专门的 Ruby 播客或者新闻网站已经越来越少。...目前质量最高的 Rails 课程之一最后公开更新是在 2020 年。当然,go-rails 等其他服务也在提供相关课程,但 Ruby 衰落的趋势已经非常明显。

2.1K30

“技术邪教” Ruby on Rails 之父再出激进言论引争议

在近日的 Rails World 大会上,Ruby on Rails 之父、37signals 联合创始人兼首席技术官 DHH(David Heinemeier Hansson)发表了观点称,最快的打包工具就是没有构建...“No Build”还具备其他一些奇妙的功能,例如用户可以在任何网站上直接查看源,其内容涉及任何源映射、不需要任何捆绑,它们就是开发出所编写的文件,未必是编译的纯 JS 文件。...即便已经有案例证明项目能完成大规模任务(如 Rails 之于 Shopify),但人们也会声称它不能进行扩展。...开发者 Nander 表示,“构建时间并不重要,重要的是 FCP(First Contentful Paint ,从开始加载到页面内容的任意部分在屏幕上渲染出来的时间)。...我甚至删除了 tailwindcss-rails 并将其替换为 tailwind CDN,以避免必须在本地运行任何内容。

25710

总结Web应用中常用的各种Cache

文章以Nginx,Rails,Mysql,Redis作为例子,换成其他web服务器,语言,数据库,缓存服务都是类似的。 以下是3层的示意图,方便后续引用: ?...categories'), 'w') do |f| f.write response.body end endend 另外我们需要在任何分类更新的时候,删除掉这个文件,避免缓存刷新的问题...('public', 'categories') endend Rails 4之前,处理这种生成静态文件缓存可以用内置的caches_page, rails 4之后变成了一个独立gem actionpack-page_caching...counter cache,更新评论数的时候不会更新文章时间,可以将这个counter也加入到key的一部分 场景3:复杂页面结构的生成 数据结构比较复杂的页面,在生成的时候避免不了大量的查询和html渲染...rails内置了query cache (https://github.com/rails/rails/blob/master/activerecord/lib/active_record/connection_adapters

4.7K40

为什么要使用Node.js?

这些优势在Node.js和JavaScript的技术栈中更加明确,关于这些我们讨论太多,这是你将Node.js加入到技术栈后最明显的优势。...在当时IRC通过许多专有和开放的协议运行在标准的端口上,现在在Node.js环境下,我们可以在标准的80端口上,实现这些聊天应用。...使用这种方法,系统能在高负载的情况下保证响应能力,尤其是在客户端不需要确认是否存数据存储成功的情况下。...web应用程序 使用Express.js框架可以在服务器上构建一个传统的Web应用,有一种说法,Node.js的请求响应模型用来渲染HTML页面不是最好的用处。...尽管最初的后台处理可能在同一台服务器上运行,但这种方法具有非常高的可伸缩性。这些后台处理服务可以很容易地分发到分离的worker服务器,而无需配置前向Web服务器的负载。

3.2K21

React 困境与未来,何时迎来自己的“Angular.js 时刻”?

事实证明,它绝不是唯一跟 React 服务端组件兼容的库。...多年以来,Hotwire in Rails 和 Symfony 等应用工具一直在使用这种架构。 此外,服务端组件希望解决的不少问题(包括数据获取、分部渲染等)早已在某些单页应用中有了答案。...或者更确切地讲,他们鼓励开发者在不配合框架的前提下使用 React,而他们所推荐的框架会更多强调服务端渲染。 还有第二个问题。React.js 官方文档主要推荐使用 Next.js。...SPA 本身没有营销空间——一旦编译完成,SPA 就是一个能在任何地方随意托管的 JS 文件。但服务端渲染的应用必须借助服务器才能运行,而服务器显然是可以营销的产品。...我也希望看到 Next.js 能在自己的官方文档中淡化对服务端组件的强调,或者至少要明确标注其尚属于“Alpha”功能。 当然,也许事实证明我是错的,服务端组件才是未来。

23210

激荡二十年:HTTP API 的变迁

rails 的成功催生了一系列迷弟迷妹 —— 各个语言的,无论是高仿 rails,或者受 rails 启发的框架如雨后春笋般冒出,好不热闹。...由于移动应用拥有自己的 UI 层,不像浏览器那样,UI 层是由服务器返回的 HTML 渲染出来,因而移动端和服务器之间有着强烈的对简洁高效且标准化的 API 层的需求。...到目前为止,纯服务器渲染返回 HTML 的 web 应用可能只剩下半壁江山。...这个时期,如雨后春笋般绽放的众多 REST API framework 给开发者带来的巨大好处是,你即便掌握 HTTP/1.1 协议的细节,也可以做出像样的 API,来处理客户端和服务器间的交互。...类型安全对 API 系统的意义不仅仅是输入输出有更加严格的校验,错误的输入能在很早的时候就被发现这么简单。它还打开了一扇新的大门:代码生成。

1.7K30

JavaScript框架--迈向2023年

我指的是任何典型的 JavaScript 客户端路由和渲染架构。甚至是那些宣称支持服务器渲染的架构。...你不能在短时间内在一个领域倾注大量创新,而希望出现什么问题。...Astro 和 Remix 分别回归到“这只是 PHP/Rails”的 MPA 和 SPA,虽然它们都缺少更复杂解决方案的重要优势,但都取得了很大成功。...这包括DOM渲染。我们认为我们所理解的开销并不是我们所想的那样,最快的WASM Rust库已经在客户端渲染上与JavaScript拉开了差距。...。但它可能帮助你将代码从一个框架迁移到另一个框架。 总结 过去大约 5 年相对沉寂之后,在过去一年左右出现了新的框架。这不是我们停止制作它们的原因,而是时机已经成熟了。

1.3K10

使用 Mastodon 搭建个人信息平台:调优篇

解决页面中图片展示的问题 虽然我们在上篇文章中,将 Mastodon 使用的资源文件都使用 MinIO 进行了存储,在上传过程中也能够正确的进行文件上传和存储。...Rails.configuration.x.use_s3 || Rails.configuration.x.use_swift end 同样的,我们使用命令将容器中的程序文件拷贝到本地: docker...解决前端资源使用错误协议 不论你使用上面哪一种方案,在问题解决后,你会发现哪怕页面 meta 信息、接口响应字段中都是 https 协议的主机地址,Mastodon Web 端在渲染界面中图片的时,始终会触发两次元素绘制...所以我选择直接在输出渲染的地方进行全局协议替换,毕竟我们的 Mastodon 是运行在 HTTPS 协议下,并开启了严格 CSP 规则。这样的场景下是不可能再引入 HTTP 的页面资源的。...- "RAILS_SERVE_STATIC_FILES=false" ...

2.4K11

vue-cli

’前端工程化’, 配合Turbolink可以让传统后端渲染页面拥有不亚于单页应用的用户体验… 当初 Rails 给我带来的各种震撼还历历在目, Ruby China 社区也是国内最好社区之一....但是目前 Rails 的关注度不如从前, 在前端社区像 Rails 这种集大成的框架也早已不吃香(参考 Ember, 某种程度上 Angular 也算吧?)....推荐大家阅读The Rails Doctrine - Rails 信条 这篇文章里面有一句话笔者非常喜欢: “只要放下了自负的个人喜好,便可以跳过无谓的世俗决定,专注在最重要的地方下更快的决定。”。...没有用 Ruby/Rails 工作过, 默默写了个 Ruby China 小程序(微信搜Ruby CN),算是感恩回馈社区吧 Ok, 忍不住吹了一波 Rails, 回到正题....尽管目前 vue 也提供了vue upgrade对插件进行升级,这个是基于语义化版本约定的, 且当插件之间存在依赖关系时, 排除升级存在风险.

3.1K10

Zendesk与微服务维护的艺术

但随着公司规模扩大,“我们意识到:把越来越多的东西塞到一个单体 Rails 上会拖慢团队的速度,”高级总工 Jon Moter 说:“部署真的很难,风险也很大。”...“我们意识到:把越来越多的东西塞到一个单体 Rails 上会拖慢团队的速度,高级总工 Jon Moter 说:“部署真的很难,风险也很大。...但“我们希望 Docker 树立起一个仅限开发者使用的形象;我们希望也能把它们用于登台和生产环境,”他说:“我们开始创建一个在节点上运行的最小代理,依据 Consul 键值存储中的数值运行 Docker...这些改进“给了团队更大的灵活性,” Moter 说:“团队开发和部署微服务时要简单易行,就要让他们能够按照自己的想法选择频繁或频繁地进行部署。...可能开始会感觉很担心,但只要最终证实 Kubernetes 能在一个更加重要的应用上顺利运行时,你就会信心倍增。不要凭空等待,抓紧时间找到解决最大、最棘手问题的方法,趁一切都不太晚。”

1K10

现代前端框架的渲染模式

这十年,前端渲染方式一直在演进,我觉得大概可以分为以下三个阶段: 传统 SSR: 那时候前端还没有分离,在 JSP、ASP、Ruby on Rails、Django 这些 MVC 框架下,通过模板来渲染页面...CSR - 客户端渲染 这个我们再熟悉不过了, 即前端页面在浏览器中渲染,服务端仅仅是静态资源服务器(比如 nginx)。...继续往下看,可以看到 Foo、Bar 的渲染结果: 接着将渲染结果替换掉插槽。用于后续的水合。...顾名思义,RSC 就是只能在服务端运行的组件。...总结 本文篇幅较长,我给大家整理了这些渲染模式的发展历程和关系脉络 任何技术的迭代都是有其动机和脉络。推荐大家面向热度编程,大部分情况下,做到‘知其然,也知其所以然’,就足够了。

48030
领券