问题标签 [react-on-rails]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
236 浏览

jquery - 如何在 Rails 上的非反应 javascript 中使用 jquery?

我最近将react_on_rails (NOT react-rails) Gem 合并到我的 rails 4.2 代码库中。

我想将新的 React 组件引入到已经有大量 JavaScript 代码的应用程序中。

我运行了“hello world”生成器以在 Rails上做出反应,除此之外,它注释掉了//= require jquery我的行application.js——因此,我预先存在的咖啡脚本(取决于jquery是否存在)不再起作用。但是新生成的演示hello world反应组件确实有效。

当我从 my中注释掉添加的//= require vendor-bundle和行并重新添加行时 - 发生相反的情况,反应组件停止工作,但预先存在的咖啡脚本再次工作。//= require app-bundleapplication.js//= require jquery

我的问题是——我该如何设置才能让两者都工作?也就是说,新的反应组件可以工作,并且预先存在的咖啡脚本(依赖于 jquery)也可以工作。

提前致谢!

0 投票
1 回答
185 浏览

react-rails - 使用 react_on_rails 如何重新安装类似于 ReactRailsUJS.mountComponents 的组件

在一个 react rails 项目中,我已经从 react-rails gem 转换为 react_on_rails。无限滚动中显示的某些组件在使用 滚动时会重新安装ReactRailsUJS.mountComponents。如何使用 react_on_rails 以这种方式重新安装组件

0 投票
0 回答
809 浏览

ruby-on-rails - 在生产中部署我的 react-on-rails 应用程序时出错

我已经在我们的生产环境(Ubuntu 14.04.3 LTS)上安装了 nam 和节点,现在尝试部署一个使用 gem react-on-rails 来实现 Redux / ReactJS 的 rails 应用程序。在开发环境中一切正常,但我觉得我在这里碰壁了。

执行 npm run build:production 时出现问题,即 "build:production": "NODE_ENV=production webpack --config webpack.config.js"

这是部署期间的日志:

这是 webpack.config.js 文件:

用我的 package.json 更新

你们有什么想法可能是错的吗?我刚刚意识到在生产环境中我有节点 v4.6.0,但在 Rails 上做出反应至少需要节点 5。也许我的问题出在那儿..

我的 rails 项目的 app/assets 文件夹下确实有 web pack-bundle.js 文件。所以文件没有丢失

0 投票
0 回答
247 浏览

ruby-on-rails - 如何在 heroku 上修复这个 webpack 部署错误?

尝试将 react_on_rails 应用程序部署到 heroku 时。我收到以下一系列错误。在本地一切正常,但是当我尝试部署到 heroku 时,我得到:

该错误似乎很简单,但我不明白为什么它找不到文件。它在我的本地机器上发现它们非常好,所以我不明白出了什么问题。

0 投票
1 回答
124 浏览

redux - 子组件会重新渲染,但父组件不会

我有两个组件,每个组件都通过容器连接,并且都具有通过提供的状态映射的道具。

有一种操作会导致子组件重新渲染,而其父组件不会。我不明白这怎么可能。

我确定我的减速器没有改变状态。此操作和重新渲染差异的结果是子组件中的道具未定义(因为它已成功从状态中删除)。但是,如果父级的渲染函数会按照我的预期重新运行,那么该渲染函数将不会运行。

为什么状态改变时父组件的渲染函数没有被调用?

0 投票
1 回答
141 浏览

ruby-on-rails - 带有 React 的 Ruby on Rails 得到 NoMethodError

以下是我的控制器 Projects#show 方法。

以下是我的 Projects#show view html.erb 文件。

以下是我的反应前端

我得到的错误信息是:

在 ActiveRecord 中完成 500 内部服务器错误。

NoMethodError(ProjectsController#show:0x007fa195b59da0 的未定义方法`'

在 2016-11-24 06:31:38 -0800 开始 GET "/projects/1" for 127.0.0.1 由 ProjectsController#show 作为 HTML 参数处理:{"id"=>"1"} 用户负载 (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT 1 [["id", 2]]
Project Load (0.1ms) SELECT "projects".* FROM "projects" WHERE "projects"."id" = ? LIMIT 1 [["id", 1]] 用户负载 (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 1]]
(0.1ms) SELECT "relationships"."supervisor_id" FROM "relationships" WHERE (supervisor_id = 1) 用户负载 (0.

NoMethodError (undefined method '' for#): app/controllers/projects_controller.rb:11:in `show'

渲染 /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_source.erb (2.7ms)渲染 /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1毫秒)渲染/home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (2.0ms)渲染/home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/diagnostics.html救援/布局中的 .erb (19.6ms) 渲染 /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates /_markup.html.erb (0.2ms) 渲染 /home/ferg/。rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/_inner_console_markup.html.erb 在 layouts/inlined_string (0.2ms) 内渲染 /home /ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/_prompt_box_markup.html.erb 在 layouts/inlined_string (0.3ms ) 在 layouts/ 中渲染 /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/style.css.erb inlined_string (0.4ms) 渲染 /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/console.js。 layouts/javascript (22.3ms) 内的 erb 渲染 /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/ layouts/javascript 中的 main.js.erb (0.2ms)在布局中渲染/home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/error_page.js.erb /javascript (0.2ms) 渲染 /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/index.html .erb (34.9ms)

0 投票
1 回答
426 浏览

ruby-on-rails - React on Rails Gem - Foreman Thor 冲突

我一直在尝试使用此处找到的教程来实现react_on_rails gem 。

不同之处在于我使用的是 ruby​​ 2.3.3,节点 7.2.0,并使用 redux ( rails generate react_on_rails:install --redux)运行设置

但是现在当我尝试运行工头时,foreman run -f Procfile.dev我收到以下错误:

知道为什么会发生这种情况以及如何解决吗?


Procfile.dev 包含:

我可以从命令行正常运行,但不能使用工头。

0 投票
0 回答
304 浏览

ruby-on-rails - 从 rails 应用程序访问 webpack 资产

我正在使用 webpack 和 React on Rails,并且有一些需要引用图像的反应组件。

我遇到的问题是试图让 Rails 访问图像。Rails 从其通常的 app/assets/images 目录提供图像,该目录通过 url /assets 访问

但是,如果我在图像目录中有一个反应组件和一个图像:

组件.js

图片/image.jpg

+--component.js +--images/image.jpg

如果我尝试通过其在 component.js 中的相对路径来引用图像,例如当我在 rails 中加载页面时,页面会尝试访问 url http://localhost:3000/home/images/image.jpg而不是那个rails 期望资产为http://localhost:3000/assets/images/image.jpg

有谁知道如何纠正这个?

这是我的 webpack.config

0 投票
1 回答
1005 浏览

npm - 当通过 NVM 安装 NPM 时,Capistrano 部署失败并出现 react_on_rails

失败的命令cd client && npm run build:production来自https://github.com/shakacode/react_on_rails/blob/master/lib/tasks/assets.rake

使用时capistrano-npmcapistrano-nvm它使用这些内容创建/tmp/my_app_name/nvm-exec.sh并使用它在根 rails 应用程序中npm install运行。package.json但它不用于为 React 客户端运行命令。

这是输出:

这是我的依赖项:

0 投票
1 回答
1136 浏览

ruby-on-rails - 如何在 ReactJS 中使用嵌套表单?

考虑这个代码片段:

它会返回给我一些哈希(rails dev 会知道)。我的问题是如何在 ReactJS 中制作这种格式?接收与 Rails 完成的默认参数完全相同的参数。至于现在我只能在 JSX 中使用 HTML 标签。目前我在控制器中接收参数并根据需要对它们进行排序(这似乎是不好的方法)。我已经测试了一些 npm 包,但他们的文档似乎没有帮助!其中包括: https ://www.npmjs.com/package/react-rails-form-helpers

https://www.npmjs.com/package/react-form

有没有为此的任何 npm 包?在 Rails 5 stable 中使用 react_on_rails gem