小编Xåp*_* -的帖子

从另一个脚本运行bash脚本而不等待脚本完成执行?

有没有办法在没有第一个阻塞的情况下执行两个bash脚本?以下不起作用:

exec ./script1.sh #this blocks!
exec ./script2.sh
Run Code Online (Sandbox Code Playgroud)

linux bash shell process

21
推荐指数
2
解决办法
4万
查看次数

多个Rails中的条件

我正在我的Rails应用程序中实现用户搜索功能.但是,我不希望管理员出现在搜索结果中.

我正在尝试这个:

User.where(:admin => [nil, false], ["name LIKE ?", "%#{params[:query]}%"])
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

syntax error, unexpected ')', expecting tASSOC
Run Code Online (Sandbox Code Playgroud)

那么如何正确列出where括号内的子句呢?

ruby activerecord ruby-on-rails rails-activerecord

20
推荐指数
1
解决办法
3万
查看次数

如何垂直居中导航元素(Twitter Bootstrap)?

到目前为止,这是我的CSS/LESS CSS代码:

//make navbar taller
@navbarHeight: 60px;

//make navbar link text 18px
.navbar-inner {
    font-size: 18px;
}

//make navbar brand text 36px
.navbar .brand {
    font-size: 36px;
}
Run Code Online (Sandbox Code Playgroud)

产生这个:

在此输入图像描述

仅供参考我正在使用Twitter Bootstrap演示代码,我没有更改html(除了更改品牌名称).

正如您所看到的,品牌名称在导航栏中垂直居中,就像它应该的那样,但导航链接不是(它们位于顶部稍高).一旦我改变了导航栏的高度,问题就变得明显了.如何让它们垂直居中(例如,像这个网站)?

如果有任何帮助,突出显示Chrome中的元素会显示:

在此输入图像描述

css alignment vertical-alignment less twitter-bootstrap

19
推荐指数
1
解决办法
4万
查看次数

如何以编程方式创建自定义View的布局?

在Activity中,您可以通过以下方式以编程方式创建LinearLayout:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);
    ll.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

    TextView tv1 = new TextView(this);
    tv1.setText("HELLO");
    ll.addView(tv1);

    TextView tv2 = new TextView(this);
    tv2.setText("WORLD");
    ll.addView(tv2);

    setContentView(ll);
}
Run Code Online (Sandbox Code Playgroud)

你如何在自定义View子类中做同样的事情?没有setContentViewonCreate方法......

android android-custom-view android-layout android-linearlayout android-view

19
推荐指数
1
解决办法
4万
查看次数

Rails表单 - 如果未选中复选框,则POST中不包含param

我有一个Task模型,它与Objective模型以多对多的关系连接起来.

我有一个任务编辑表单,用户可以通过复选框将任何目标与任务相关联.选中复选框时,它应指示任务与特定目标之间的关联; 如果未选中复选框,则应该没有关联.这应该在表单提交时保留到数据库.

<%= form_for @task do |f| %>
  <% Objective.all.each do |objective| %>
    <%= check_box_tag :objective_ids, objective.id, @task.objectives.include?(objective), :name => 'task[objective_ids][]' %>
  <% end %>
  <%= f.button :submit %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

只要用户选中了一个复选框,更新任务似乎就可以正常工作,但是当用户没有选中任何复选框时,:objective_idsparam(这是一个Objective ids数组)根本不包含在POST操作中.因此,当我@task.update_attributes(params[:task])在控制器中执行时,任务的目标集合不会更新(即,任务不应该有任何与之关联的目标,因为没有选中复选框).

那么我怎样才能确保:objective_idsparam包含在POST中,即使只作为一个空数组?

forms rest post activerecord ruby-on-rails

16
推荐指数
1
解决办法
4864
查看次数

如何检查后台作业是否还活着?(bash)的

我有以下bash脚本,我们可以调用它script1.sh:

#!/bin/bash

exec ./script2.sh &

sleep 5

if job1 is alive then #<--- this line is pseudo-code!
    exec ./script3.sh &
    wait
fi
Run Code Online (Sandbox Code Playgroud)

可以看出,脚本script2.sh作为后台作业执行,然后等待5秒(这样script2.sh可以做一些初始化的事情).如果初始化成功,script2.sh作业仍然存活,在这种情况下我也想同时启动script3.sh; 如果没有,我只是想退出.

但是,我不知道如何检查第一个作业是否存活,因此伪代码行.那么,它应该取而代之的是什么?

bash shell jobs background process

14
推荐指数
4
解决办法
2万
查看次数

在Thread.join()之前调用Thread.interrupt()会导致join()立即抛出InterruptedException吗?

基本上,问题标题是什么.

Thread t = new Thread(someRunnable);
t.start();
t.interrupt();
t.join(); //does an InterruptedException get thrown immediately here?
Run Code Online (Sandbox Code Playgroud)

从我自己的测试来看,似乎,但只是想确定.我猜测在执行"等待"例程之前Thread.join()检查interrupted线程的状态?

java concurrency multithreading interrupt interrupted-exception

13
推荐指数
2
解决办法
1万
查看次数

如何在声明样式中定义整数数组?

我正在实现自己<declare-styleable>的自定义视图(按照此处的说明).我希望能够将整数数组指定为可能的XML属性之一.我如何能:

  1. 将整数数组指定为XML属性attrs.xml
  2. 在我的自定义视图中调用后,从TypedArray中获取它obtainStyledAttributes()

android android-xml typed-arrays declare-styleable android-resources

13
推荐指数
1
解决办法
5812
查看次数

创建一个包含相同值/对象的n个副本的数组?

我想在数组中的n每个索引处创建一个大小相同的数组.在Java中执行此操作的最佳方法是什么?

例如,如果n为5且值为布尔值false,则数组应为:

= [false, false, false, false, false]
Run Code Online (Sandbox Code Playgroud)

java arrays copy

13
推荐指数
4
解决办法
9105
查看次数

获取错误"需要Gradle版本1.10.当前版本为1.12." 执行"gradle wrapper"时?

我正在尝试执行gradle wrapperAndroid项目,并引发此错误:

评估根项目'myapp'时出现问题.

> Gradle版本1.10是必需的.当前版本是1.12.如果使用gradle包装器,请尝试将/Users/dude/myapp/gradle/wrapper/gradle-wrapper.properties中的distributionUrl编辑为gradle-1.10-all.zip

我的wrapper任务build.gradle看起来像这样:

task wrapper(type: Wrapper) {
    gradleVersion = "1.12"
}
Run Code Online (Sandbox Code Playgroud)

我最近通过Homebrew更新到Gradle v1.12.是不支持还是什么?如果是这样,我在哪里可以检查这种事情?

android gradle gradlew build.gradle android-gradle-plugin

12
推荐指数
1
解决办法
1万
查看次数