我正在使用 Rails 4.2 学习 React.js(准备使用它),但我的控制台中有很多错误。
所以我使用 React 16.8(带有 react-rails gem)+ Rails 4.2 + Webpacker 4.0.2
我的文件夹结构:
app
|
javascript
|
packs
|
application.js
server_rendering.js
components
|
main.js.jsx
header.js.jsx
body.js.jsx
new_item.js.jsx
all_items.js.jsx
Run Code Online (Sandbox Code Playgroud)
在我的应用程序布局中,我= javascript_pack_tag('application')
在索引视图中添加了= react_component('Main')
但我有这些错误:
var componentRequireContext = require.context("components", true);
var ReactRailsUJS = require("react_ujs");
ReactRailsUJS.useContext(componentRequireContext);
Run Code Online (Sandbox Code Playgroud)
main.js.jsx :
var Main = React.createClass({
render() {
return (
<div>
<Header />
<Body />
</div>
);
}
});
Run Code Online (Sandbox Code Playgroud)
我试图添加import React from ‘react’,main.js.jsx但我仍然有错误。
这是我第一次使用 React,我不知道在哪里看...任何帮助将不胜感激 …
几周以来,我的 Rails 应用程序出现了问题。首先,我必须明确指出,我仅在一个应用程序上遇到此问题,但该应用程序在我同事的计算机(具有相似的性能)和服务器上的临时环境中运行良好。
当我说非常慢时,它是非常非常慢。有时,一个简单的ajax请求有时需要超过5秒。当我单击徽标转到根页面时,单击和开始加载之间存在几秒钟的延迟。每次换页至少需要5秒...
这是我的开发.rb:
# frozen_string_literal: true
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.
# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
# Do not eager load code on boot.
config.eager_load = false
# Show full error reports.
config.consider_all_requests_local …Run Code Online (Sandbox Code Playgroud) 我在生产环境中使用 Laravel Socialite 的 Google 身份验证时遇到问题。错误与此帖子中的错误相同:
Laravel Socialite 无法在实时服务器上运行,只能在本地计算机上运行
但我有一个 Apache 服务器,经过多次尝试,我还没有找到解决方案。
编辑:
客户端错误:POST“ https://www.googleapis.com/oauth2/v4/token ”导致“400 Bad Request”响应:
{
"error": "invalid_request",
"error_description": "Missing required parameter: code"
}
Run Code Online (Sandbox Code Playgroud) 我将应用程序从 rails 5.2 迁移到 rails 6。只剩下一件事要做,但我不知道如何做。
我有这个折旧警告:
弃用警告:ActionView::Base 实例应该使用查找上下文、赋值和控制器来构造。(从 /Users/xxx/xxxx/app/models/stock.rb:42 处的 new 调用)
从这个代码:
view = ActionView::Base.with_empty_template_cache.new(
ActionController::Base.view_paths,
categories: categories,
periods: periods
)
result = view.render formats: [:xlsx],
handlers: [:axlsx],
template: 'admin/reports/logistics/stocks_by_age'
Run Code Online (Sandbox Code Playgroud)
我不明白如何解决它。我去查看源代码中的折旧,但它没有帮助我弄清楚我应该做什么,而且我没有真正找到任何有关此“查找”的文档。
请问有人可以帮我理解这种折旧吗?
我有以下代码:
$(window).ready(function() {
var url = window.location.href;
if (url.includes("#/projet/")) {
projectId = url.substring(url.indexOf("#")+1).split("/").slice(2, 3).toString();
window.location.href = "projects/" + projectId;
};
})
Run Code Online (Sandbox Code Playgroud)
我被重定向了,但是window.location没有被替换,只是被连接了。例如,如果我的网址是localhost:3000/users/212323/dashboard,则在javascript重定向后,我得到的localhost:3000/users/212323/projects/123456不是localhost:3000/projects/123456
我不明白为什么href是串联的而不是被替换,您有什么主意吗?
我目前正在将 Rails 应用程序从 5.2.4 更新到 6.0.1。我使用了该任务,修复了一些折旧,然后一一rails app:update取消注释了 中的更改。new_framework_defaults_6_0.rb一切正常,所有测试都经过验证,因此我删除了该new_framework_defaults_6_0.rb文件并更改了配置以加载新的默认值,以及config.load_defaults 6.0... badaboum。
我可以启动 Rails 服务器,但 Puma 出现错误:
Puma caught this error: uninitialized constant Admin (call 'Admin.connection' to establish a connection)::Concerns
Did you mean? Concurrent (NameError)
/Users/xx/xx/app/models/admin.rb:4:in `<class:Admin>'
/Users/xx/xx/app/models/admin.rb:3:in `<top (required)>'
/Users/xx/.rvm/gems/ruby-2.6.5@xx/gems/zeitwerk-2.2.2/lib/zeitwerk/kernel.rb:16:in `require'
/Users/xx/.rvm/gems/ruby-2.6.5@xx/gems/zeitwerk-2.2.2/lib/zeitwerk/kernel.rb:16:in `require'
...
Run Code Online (Sandbox Code Playgroud)
如果我刷新,则会出现另一个错误:
Before process_action callback :authenticate_user has not been defined
Run Code Online (Sandbox Code Playgroud)
(该方法存在)
最后,如果我再次刷新:
undefined method `signed_in?' for #<#<Class:0x00007fc47a7706f0>:0x00007fc47a783a70>
Run Code Online (Sandbox Code Playgroud)
这些方法存在于我的代码中,而不是 Gem 中。就像某些文件未加载一样。我不知道问题是什么,config.load_defaults 6.0当存在时,它会做同样的事情,new_framework_defaults_6_0.rb那么为什么它适用于文件而不适用于config.load_defaults 6.0?
任何帮助将非常感激
红宝石 …
我看到了以下代码:
resource = controller_name.singularize.to_sym
method = "#{resource}_params"
params[resource] &&= send(method) if respond_to?(method, true)
Run Code Online (Sandbox Code Playgroud)
但是我真的不明白是什么&&=。
请有人可以向我解释吗?
谢谢
actionview ×1
javascript ×1
laravel ×1
macos ×1
macos-mojave ×1
puma ×1
reactjs ×1
ruby ×1
webpack ×1
webpacker ×1