我正在使用rails应用程序,但无法找到如何处理依赖的下拉列表.我有3个型号: - 有几个组的类别 - 有几个成员的组 - 成员
选择类别后,我希望此类别中的组填充第二个下拉列表(组和成员之间的相同内容).
我有以下表格(显然这不符合我喜欢的方式,因为我采取了特定型号的所有项目)...
<div class="field">
<%= f.collection_select(:category, Category.find(:all), :id, :name, {:include_blank => 'Category'}) %>
</div>
<div class="field">
<%= f.collection_select(:group, Group.find(:all), :id, :name, {:include_blank => 'Group'}) %>
</div>
<div class="field">
<%= f.collection_select(:member, Member.find(:all), :id, :name, {:include_blank => 'Member'}) %>
</div>
<div class="actions">
<%= f.submit %>
</div>
Run Code Online (Sandbox Code Playgroud)
什么是使这些领域依赖的最佳方法?我在网上找到了几个关于此问题的主题但却找不到答案.
我正在使用 node.js 并在我当前的应用程序中表达。我创建了几个中间件函数,每个中间件函数的创建方式如下:
function loadUser(req, res, next){
...
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个中间件来检查快速操作中是否存在强制参数。例如,我有一个 /user/create 操作,它需要昵称、密码、电子邮件……作为必需参数。然后我需要将此参数列表传递给中间件,以便它可以检查 req.query 中是否存在这些参数。
任何的想法 ?
更新
我终于完成了以下操作(在快速文档中,有一个中间件示例需要附加参数http://expressjs.com/guide.html#route-middleware)。
function checkParams(arr){
return function(req, res, next) {
// Make sure each param listed in arr is present in req.query
var missing_params = [];
for(var i=0;i<arr.length;i++){
if(! eval("req.query." + arr[i])){
missing_params.push(arr[i]);
}
}
if(missing_params.length == 0){
next();
} else {
next(JSON.stringify({ "error" : "query error", "message" : "Parameter(s) missing: " + missing_params.join(",") }));
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后像其他中间件一样调用它:
app.post('/user/create', checkParams(["username", "password"]), function(req, …Run Code Online (Sandbox Code Playgroud) 我无法在redis数据库中设置和检索带重音的字符串.
带有重音符号的字符是编码的,如何在设置的位置检索它们?
redis> set test téléphone
OK
redis> get test
"t\xc3\xa9l\xc3\xa9phone"
Run Code Online (Sandbox Code Playgroud)
我知道这已被问过(http://stackoverflow.com/questions/6731450/redis-problem-with-accents-utf-8-encoding)但没有详细的答案.
My friend has a web site on ovh.com.Since a couple of days, the site is flagged as dangerous by google.
I had a look in the files (the site only contains only html, css, pjg) and it appears that a new line of code:
<script>http://...page.php</script></body>
Run Code Online (Sandbox Code Playgroud)
(I do not remember the exact url) has been added in some of the html pages. This is obviously a virus that would be run when the page is displayed.
If I delete this line …
我在一个新的rails应用程序中工作,我创建了一个小实用程序类RAILS_ROOT/lib.我在一个控制器中使用这个类require.在本地这个类是正确加载的,但是当我在heroku上部署应用程序时,它崩溃了:
LoadError(没有要加载的文件 - MyUtilityClass)
有任何想法吗?
更新:
我发现了这个问题.在我的控制器中,我做了一个'require"MyUtilityClas"',这在当地工作正常.在heroku上我需要做一个'require'/lib/my_utility_class.rb"'.嗯......我真的不明白为什么其实......
我在我的node.js应用程序中使用mongoose,基本上有以下模型:
// Define Car model
CarSchema = new Schema({
brand : String,
type: String,
maxSpeed : Number
});
mongoose.model('Car', CarSchema);
// Define User model
UserSchema = new Schema({
lastname : String,
firstname : String,
cars : [CarSchema]
});
mongoose.model('User', UserSchema);
Run Code Online (Sandbox Code Playgroud)
我是NoSQL的新手,我真的想尝试一下,但我首先需要研究这是否真的符合我的需求.
通过上述模型,我是否可以创建一个查询,列出所有在其私人汽车中拥有特定类型汽车的用户?
我在我的网络应用程序中使用JQuery,我想知道在这种情况下处理多语言的最佳方法是什么.
我在想创建一个像这样的文件:
label["login"]["fr"]="Connection"
label["login"]["en"]="Login"
Run Code Online (Sandbox Code Playgroud)
一旦文件加载,我将(对于每个标签)a:
$('#login').text(label["login"][selected_language]);
Run Code Online (Sandbox Code Playgroud)
在HTML中,我将使用:
<a href="login.html"><span id="login"></span></a>
Run Code Online (Sandbox Code Playgroud)
这是一个正确的方法吗?
在我的应用程序(node/express/redis)中,我使用一些代码同时更新DB中的多个项目:
app.put('myaction', function(req, res){
// delete stuff
db.del("key1");
db.srem("set1", "test");
// Add stuff
db.sadd("set2", "test2");
db.sadd("set3", "test3");
db.hmset("hash1", "k11", "v11", "k21", "v21");
db.hmset("hash2", "k12", "v12", "k22", "v22");
// ...
// Send response back
res.writeHead(200, {'content-type': 'application/json'});
res.write(JSON.stringify({ "status" : "ok" }));
res.end();
});
Run Code Online (Sandbox Code Playgroud)
在方法返回之前,我能确定所有这些操作都会执行吗?我担心的是异步处理.因为我不在db动作中使用回调函数,这样会好吗?
为了让我的UITableView看起来更好,我需要交替更改每个单元格的背景颜色.
由于我没有设法直接更改背景颜色,我在单元格的背景中添加了一个UILabel,然后执行以下操作(在cellForRowAtIndexPath方法中):
// Set cell color
if(indexPath.row % 2 == 0){
UIView *bckView = (UIView *)[cell viewWithTag:100];
bckView.backgroundColor = [UIColor colorWithRed:226.0/255.0 green:243.0/255.0 blue:1.0 alpha:1.0];
}
Run Code Online (Sandbox Code Playgroud)
当列表第一次显示时它看起来很好(第一个单元格是浅蓝色,第二个单元格是白色,第三个是浅蓝色......).但是......当我玩和移动列表几次并完成时,细胞的背景颜色混合在一起.我很确定这与细胞被重复使用有关,但我无法弄清楚如何解决这个问题.任何的想法 ?
我有一个包含以下服务的应用程序:
所有流量都是这样的:
https-portal-> nginx->其他服务
我用Traefik替换了https-portal,但我无法使websocket正确通过。
以下是我的docker-compose.yml文件的摘录。进入Traefik的流量将转发到反向代理的专用端口。这将执行几次检查,然后将请求转发到适当的服务(API,Web前端,WebSocket服务器等)。
# Proxy
proxy:
image: mynginxproxy
build: ../../../development/proxy
restart: always
labels:
- traefik.web.frontend.rule=Host:app.dev
- traefik.web.port=8000
- traefik.wss.frontend.rule=Host:wss.app.dev
- traefik.wss.protocol=ws
- traefik.wss.port=9002
- traefik.api.frontend.rule=Host:api.app.dev
- traefik.api.port=8002
- ... // other labels
# Traefik
traefik:
image: traefik
command: --web --docker --docker.domain=app.dev --logLevel=DEBUG
labels:
- "traefik.enable=false"
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /dev/null:/traefik.toml
Run Code Online (Sandbox Code Playgroud)
在app.dev域上为Web前端提供服务时,在ws://wss.app.dev上尝试了websocket连接,但它无法连接到基础的websocket服务器。错误似乎链接到Origin头,该头设置为app.dev,目标服务器为wss.app.dev。
日志表格traefik:
traefik_1 | time="2017-08-02T13:55:05Z" level=warning msg="Error while upgrading connection : websocket: 'Origin' header value not allowed"
Run Code Online (Sandbox Code Playgroud)
我不确定我在这里缺少什么,因为这可以通过https-portal正确传递。Traefik是否需要其他选择?