首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 6-渲染JS失败

Rails 6-渲染JS失败
EN

Stack Overflow用户
提问于 2020-03-27 00:42:18
回答 1查看 231关注 0票数 1

我在Rails6上启动了一个新项目。我遇到了一个渲染JS文件的问题。

代码语言:javascript
复制
    def create
      @member = Member.new(member_params)

      if @member.save
        redirect_to members_path
      else
        render js: :new
      end
    end

一旦保存操作失败,我想要reder new.js.erb文件,但得到奇怪的错误,与我的项目文件无关。

代码语言:javascript
复制
TypeError (no implicit conversion of Symbol into String):

body.each do |part|
  parts << part
  (digest ||= Digest::SHA256.new) << part unless part.empty?
end

[digest && digest.hexdigest.byteslice(0, 32), parts]

rack (2.2.2) lib/rack/etag.rb:69:in `<<'
rack (2.2.2) lib/rack/etag.rb:69:in `block in digest_body'
...
actionpack (6.0.2.1) lib/action_dispatch/middleware/host_authorization.rb:83:in `call'
webpacker (4.2.2) lib/webpacker/dev_server_proxy.rb:23:in `perform_request'
rack-proxy (0.6.5) lib/rack/proxy.rb:57:in `call'
railties (6.0.2.1) lib/rails/engine.rb:526:in `call'
puma (4.3.3) lib/puma/configuration.rb:228:in `call'
puma (4.3.3) lib/puma/server.rb:682:in `handle_request'
puma (4.3.3) lib/puma/server.rb:472:in `process_client'
puma (4.3.3) lib/puma/server.rb:328:in `block in run'
puma (4.3.3) lib/puma/thread_pool.rb:134:in `block in spawn_thread'

此外,我发现每次使用render js: anyfile时都会发生这种情况

environment.js

代码语言:javascript
复制
const { environment } = require('@rails/webpacker');
const webpack = require('webpack');

environment.plugins.append('Provide', new webpack.ProvidePlugin({
  $: 'jquery',
  jQuery: 'jquery',
  Popper: ['popper.js', 'default']
}));

module.exports = environment;

有没有人遇到过这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-27 01:03:55

我认为你做得不对。尝试如下所示-

代码语言:javascript
复制
respond_to do |format|
  if @member.save
    return redirect_to members_path
  else
    format.js { render :new }
  end
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60872037

复制
相关文章

相似问题

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