我正在做一个基本的控制器,并尝试从 HTML 中获取带有标签值的数据。
问题是数据总是空的
<div data-controller="selectable">
<div class="flex" data-selectable-iconurl="test" data-selectable-iconurl-value="test">
something here
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
请注意,我对值标签(来自不同的帖子)进行了多种组合,以验证其中一个是否正常工作。
现在,当我尝试访问控制器中的值时始终为空
// selectable_controller.js
import {Controller} from "@hotwired/stimulus"
export default class extends Controller {
static values = {iconurl: String }
connect() {
console.log(this.iconurlValue)
}
}
Run Code Online (Sandbox Code Playgroud)
我仔细检查了文档,找不到为什么该值没有传递到控制器并且始终为空
我想创建一个带有标签的帖子模型,并能够显示每个帖子的所有标签.你知道最好的办法吗?
我试过这个
<template name='postsLists'>
{{#each post}}
{{> postDetails }}
{{/each}}
</template>
<template name='postDetails'>
title: {{title}}
{{#each tag}}
{{tag}}
{{/each}}
</template>
Run Code Online (Sandbox Code Playgroud) 我将应用程式护照本机复制并贴上了我的应用程式,
有趣的是,我可以登录用户,但不能使他们注销,
app.get('/logout', function(req, res){
req.logout();
res.redirect('/');
});
Run Code Online (Sandbox Code Playgroud)
这没有做任何事情,在日志文件上什么也没有做,并且II具有到/ logout的链接
这是主要路线示例
app.get('/page1', function(req, res){
res.render('page1', {user: req.user});
});
app.get('*', function(req,res){
res.render('root', {user: req.user});
});
Run Code Online (Sandbox Code Playgroud)
为什么注销不起作用????
只是一个简单的问题,我已经关注了railscast
对于远程真实工作来说,这很好,但我如何验证模型呢?
我有这个
<%= form_for [:admin,@course], remote: true do |f| %>
<div class="field">
<%= f.label :title, "The title:" %><br />
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :description, "Descripcion:" %><br />
<%= f.text_area :description %>
</div>
<div class="actions">
<%= f.submit "Send"%>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我如何处理错误?
def create
@course = Course.new(params[:course])
respond_to do |format|
if @course.save
format.html { redirect_to admin_index_url, :notice=> 'Done !!' }
format.js
else
format.html { flash.now[:alert] = "Not done"
render "new"
}
format.js
end …
Run Code Online (Sandbox Code Playgroud) 我有以下代码
app.js
var express = require('express'),
fs = require('fs'),
format = require('util').format;
var app = express();
app.configure(function() {
app.use(express.bodyParser());
app.use(express.bodyParser({uploadDir:'./static/files/'}))
app.use(express.methodOverride());
app.use(express.static(__dirname + '/static'));
app.use(express.errorHandler({
dumpException: true,
showStack: true
}));
});
app.set('views',__dirname + '/views');
app.set('view engine', 'jade');
Run Code Online (Sandbox Code Playgroud)
好的,我有这条路线
app.post('/addPhoto', products.addPhoto);
Run Code Online (Sandbox Code Playgroud)
这个表格
form(action='/new', method='POST', enctype="multipart/form-data")
input(type='text', name="name", placeholder='nanme')
input(type='text', name="description",placeholder='description')
input(type='text', name="thumbnail_img",placeholder='path')
input(type='number', name='price', placeholder='123')
input(type="file", name="thumbnail")
input(type='submit')
Run Code Online (Sandbox Code Playgroud)
我在绝望的意图中使用了thumbnail_img来修改路径
现在在products.js
var products = exports.products = [];
var format = require('util').format;
var fs = require('fs');
products.push(
{ id:0,
name:'name 1',
description:'description1',
thumbnail_img: …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个将处理 post 请求的 api 路由,主要思想是创建一个 api 端点来添加数据。问题是我无法将数据发送到端点。
// posts-creation.ts
export const action: ActionFunction = async ({ request }) => {
switch (request.method) {
case 'POST': {
return json(request.body);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我使用邮递员使用 JSON 正文执行发布请求时显示了这一点
{
"_readableState": {
"objectMode": false,
"highWaterMark": 16384,
"buffer": {
"head": null,
"tail": null,
"length": 0
},
"length": 0,
"pipes": [],
"flowing": null,
"ended": false,
"endEmitted": false,
"reading": false,
"sync": false,
"needReadable": false,
"emittedReadable": false,
"readableListening": false,
"resumeScheduled": false,
"errorEmitted": false,
"emitClose": true,
"autoDestroy": true,
"destroyed": false, …
Run Code Online (Sandbox Code Playgroud) 我已经按照这里的代码 - > https://github.com/jaredhanson/passport-local/tree/master/examples/express3为用户添加本地身份验证.
问题是当我尝试添加用户时
所以我创造了这条路线
app.get('/signup', function(req,res){
res.render('/signup');
});
app.post('/signup', function(req,res){
var body = req.body;
users.push(body);
res.redirect('/');
});
Run Code Online (Sandbox Code Playgroud)
那么页面就是它的形式
form(method='POST', action='/signup')
input(type='text', name='username', placeholder='username')
input(type='text', name='password', placeholder='password')
button.btn Register
Run Code Online (Sandbox Code Playgroud)
虚拟DB这是示例中的那个
users = [
{id:1, username: 'test', password:'papapa'}
];
Run Code Online (Sandbox Code Playgroud)
因此,当我发送表单信息时,一切正常,但当我尝试使用新创建的用户登录时,告诉我"错误:无法将用户序列化为会话"
serializeUser就是这个
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
findById(id, function (err, user) {
done(err, user);
});
});
Run Code Online (Sandbox Code Playgroud) 我按照这个例子 - > https://github.com/visionmedia/express/tree/master/examples/auth
工作正常,但我不喜欢他们成功登录或退出时显示内容的方式.
它有其他方式做X或Y一次性用户的身份验证?例
我有一个用于登录的线性表单,很高兴隐藏该div一次性用户的身份验证,但我不能这样做
$(document).ready(function(){
if(req.session.user) { $(.class of teh frm to hide).hide(); }
}
Run Code Online (Sandbox Code Playgroud)
我也试过session.user
一直都告诉我它未定义.我把它放在布局上.
那么如果用户进行身份验证,或者如果用户是管理员,我如何在视图上显示内容?
因为atm我看到它的唯一方法是授权一些路线并通过显示特定内容
req.session.success = 'Authenticated as ' + req.session.user.name
+ ' click to <a href="/logout">logout</a>. '
+ ' You may now access <a href="/restricted">/restricted</a>.';
}
Run Code Online (Sandbox Code Playgroud)
认为它不是要走的路.
javascript authentication forms-authentication node.js express
javascript ×5
express ×4
node.js ×4
jquery ×2
ajax ×1
database ×1
meteor ×1
model ×1
passport.js ×1
reactjs ×1
remix.run ×1
stimulusjs ×1
validation ×1