我对Rails相对较新,我正在尝试在开发环境中使用资产管道SCSS.但是,在我创建控制器,视图和css.scss文件后,我遇到以下错误:
Sprockets::Rails::Helper::AssetNotPrecompiled
这是错误消息:
资产未声明在生产中预编译.添加
Rails.application.config.assets.precompile += %w( public.css )到config/initializers/assets.rb和重新启动服务器
我读到在开发过程中,资产即时编译,无需预编译.为什么会出现预编译错误?Rails是否认为我在生产而不是开发?
2016年3月1日编辑------
我刚刚意识到在config/initializers/assets.rb上添加文件是有效的.但这是正确的方法吗?我必须在assets.rb中手动添加所有css/js/jpg文件才能工作.我觉得这在某种程度上违反了DRY原则.
这是我的第一个快递应用。我正在尝试对某些路由实施身份验证。理想情况下,如果用户未通过身份验证,他们将被重定向到主页。所以我写了这个中间件:
var jwt = require('express-jwt');
app.get('/protected',
jwt({secret: 'shhhhhhared-secret'}), //express-jwt middleware
function(req, res, next) { //redirection middleware
if(!req.user._id){
console.log('authentication failed')
res.redirect('/home')
}else{
next()
};
});
Run Code Online (Sandbox Code Playgroud)
如果用户已登录,则代码有效。但是,如果用户未登录,浏览器只会显示 401 未经授权的错误。没有重定向。该过程在 express-jwt 中间件失败,并且没有继续到我的重定向中间件。
我需要在 jwt 函数中设置一些配置吗?或者有没有办法在遇到 401 时设置全局重定向。
不确定这个问题是因为jsFiddle中的错误还是我对javascript圆括号的误解.我有这个代码:
let x = 5
(x > 0) && console.log('hello')
Run Code Online (Sandbox Code Playgroud)
这不起作用.但是,以下没有括号工作.
x > 0 && console.log('hello')
Run Code Online (Sandbox Code Playgroud)
我的印象是我可以在条件下使用圆括号将事物分组在一起.我不知道为什么我的第一行代码不起作用.这是我对圆括号的误解吗?
我实际上是想在这个jsFiddle代码中教别人一个更高级的例子.https://jsfiddle.net/x616atk0/
这是我在实际应用中遇到的问题的简单复制。 https://jsfiddle.net/zqb7mf61/
基本上,如果您单击“更新待办事项”按钮,文本将从“Clean Room”更改为“Get Milk”。“Clean Room”是reducer 初始状态中的一个值。然后在我的 React 组件中,我实际上尝试克隆状态并变异克隆以将值更改为“获取牛奶”(第 35/36 行)。令人惊讶的是,即使我尝试不对其进行变异,初始状态本身也发生了变异(如第 13 行所示) .
我想知道为什么 Object.assign 不适用于 redux。
这是来自 jsFiddle 的代码。
还原
const initState = {
task: {id: 1, text: 'Clean Room'}
}
// REDUCER
function todoReducer (state = initState, action) {
switch (action.type) {
case 'UPDATE_TODO':
console.log(state)
let newTodo = Object.assign({}, state) // here i'm trying to not make any changes. But i am surpise that state is already mutated.
return newTodo
default:
return state;
}
}
// ACTION …Run Code Online (Sandbox Code Playgroud) javascript ×2
css ×1
express ×1
express-jwt ×1
jsfiddle ×1
node.js ×1
reactjs ×1
redux ×1
sass ×1