我在AWS EC2 t2.micro上使用Rails 5.1.6。
我有一个文件,比如说import {createAction, handleActions} from 'redux-actions';
import { Map, List } from 'immutable';
// firestore
import * as db from '../../shared';
// Action types
const GET_NAME = 'categoryImgList/GET_NAME';
// action creator
export const getName = createAction(GET_NAME, () => {
db.getCategoryNames().then(data => {
const arr = [];
data.forEach(doc => {
console.log(doc.data().name);
arr.push(doc.data().name);
});
console.log('arr');
console.log(arr);
})
}); // none
const initialState = Map({
name: List()
});
// Reducer
export default handleActions({
[GET_NAME]: (state, { payload: name }) => {
console.log(state);
console.log({name});
const item = Map({ name });
return state.update('name', name => name.push(item));
}
}, initialState);
,其中的是
lib/foo/bar.rb
已定义。我添加了
class Foo::Bar
end
到config.autoload_paths += %W(#{config.root}/lib)
,但当我检查从config/application.rb
加载常量Foo::Bar
时,会引发rails console
名称错误。
所以,我添加了行
uninitialized constant Foo::Bar
在puts "CONFIG ROOT IS #{config.root};"
puts "AUTOLOAD PATHS ARE #{config.autoload_paths};"
的末尾,以查看它们是否设置正确,并且它们是正确的。
然后,我在config/application.rb
中尝试了require './lib/foo/bar.rb'; Foo::Bar
,也没关系。
(本地)码头工人的尝试也很好。
有什么问题?为什么rails console
中的常量未加载?
答案 0 :(得分:1)
你试过了吗?
module Foo
class Bar
end
end
https://dan.chak.org/enterprise-rails/chapter-3-organizing-with-modules/