我正在尝试编写一个shell脚本,在远程服务器上创建一些目录,然后使用scp将文件从本地计算机复制到远程服务器上.这是我到目前为止所拥有的:
ssh -t user@server<<EOT
DEP_ROOT='/home/matthewr/releases'
datestamp=$(date +%Y%m%d%H%M%S)
REL_DIR=$DEP_ROOT"/"$datestamp
if [ ! -d "$DEP_ROOT" ]; then
echo "creating the root directory"
mkdir $DEP_ROOT
fi
mkdir $REL_DIR
exit
EOT
scp ./dir1 user@server:$REL_DIR
scp ./dir2 user@server:$REL_DIR
Run Code Online (Sandbox Code Playgroud)
每当我运行它时,我收到此消息:
Pseudo-terminal will not be allocated because stdin is not a terminal.
Run Code Online (Sandbox Code Playgroud)
脚本永远挂起.
我的公钥在服务器上是可信的,我可以在脚本之外运行所有命令.有任何想法吗?
我总是在我的Rails顶部获得大量代码models.我正在寻找建议,以最好的方式打破标准的Ruby风格.例如,我现在看的一行是:
delegate :occupation, :location, :picture_url, :homepage_url, :headline, :full_name, :to => :profile, :prefix => true, :allow_nil => true
Run Code Online (Sandbox Code Playgroud)
打破这些长方法调用线的传统方式是什么?
在我的rails应用程序中,我有一个看起来像这样的远程表单:
<%= form_tag some_path, :method => :get, :id => 'my-form', :remote => true do %>
<%= text_field_tag :search, params[:search], :id => 'search-field' %>
<%= submit_tag 'Go' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
现在我想通过javascript提交此表单并触发所有rails远程表单回调.到目前为止,我已经尝试了一些东西,但似乎没有任何工作.
我尝试过的事情:
$('#my-form').trigger('onsubmit')
$.rails.callFormSubmitBindings( $('#search-form') )
Run Code Online (Sandbox Code Playgroud)
但到目前为止没有运气.有任何想法吗?
我想我想要做的很简单,我只是不知道该怎么做.当我的一个模型属性发生更改以便将一些数据传递给事件处理程序时(无论更改是值的增加还是减少),我想触发自己的事件.
基本上我希望我的处理程序在视图中执行此操作
handler: function(increased) {
if(increased) {
alert("the value increased")
}
else {
alert("the value decreased")
}
}
// ...
this.model.on("change:attr", this.handler, this);
Run Code Online (Sandbox Code Playgroud) 希望在这里得到一些意见.
使用RSPEC检查布尔值的最佳方法是什么我已经看到它采用了几种不同的方式:
myvar.should == true
myvar.should be true
myvar.should be
Run Code Online (Sandbox Code Playgroud)
另外我通常只关心duck值,也就是说,如果它的值为true/false,那么我不关心它的实际值是什么......
我刚刚进入rails.vim作为我的ROR IDE,我真的很喜欢它.我唯一不知道怎么做,我希望能做到的,就是回到我正在编辑的最后一个文件.
例如,如果我正在编辑一个文件,说一个视图并且我:Rcontroller用来跳过相应的控制器,有没有办法快速返回模型(没有:Rmodel)?我正在寻找像CTRL-TABvisual studio中那样的功能.
我正在使用rails来保护对仅需要为Web应用程序的某些用户提供服务的文件的访问权限.为此,我有一个控制器方法,它接受有关他们想要访问的文件的信息,检查他们的授权,然后如果他们被授权使用x-sendfile将它发送给他们.除了一个障碍之外,这个概念工作得很好:如果他们请求一个资源.在其中我的路由不知道处理它.在我的路线文件中我有:
match 'atb_resources/:guid/:resource' => 'atb_resources#show', :as => :get_atb_resource, :via => :get
Run Code Online (Sandbox Code Playgroud)
然后如果我在我的规范中尝试这个:
get 'show', :guid => 'some_guid', :resource => 'blah.txt'
Run Code Online (Sandbox Code Playgroud)
规范失败了:
Failure/Error: get 'show', :guid => @atb.guid, :resource => 'blah.txt'
ActionController::RoutingError:
No route matches {:guid=>"ABCDEFG5", :resource=>"blah.txt", :controller=>"atb_resources", :action=>"show"}
Run Code Online (Sandbox Code Playgroud)
但这没关系:
get 'show', :guid => 'some_guid', :resource => 'blahDOTtxt'
Run Code Online (Sandbox Code Playgroud)
我假设问题出在我的路由上,但我真的不明白周期如何影响路由.有任何想法吗?
我试图在一个应该引发错误并记录它的特定条件下在我的rails应用程序中测试一个控制器.我的加速测试工作得很好但是我想确保记录器被调用,到目前为止我试过这个,但是它没有工作
it 'logs the error' do
get 'edit', {:id => 'banana'}
Logger.any_instance.expects(:error)
end
Run Code Online (Sandbox Code Playgroud)
ps我正在使用摩卡
我有一个具有一堆属性的模型,但这里有两个感兴趣的id和key.key永远是独一无二的,id而不是那么多.当我尝试向id集合中添加多个具有相同模型的模型时,我收到此错误:
Uncaught Error: Can't add the same model to a collection twice
Run Code Online (Sandbox Code Playgroud)
我猜这是因为骨干正在使用它id来决定两个模型是否存在===.那是对的吗?如果有,有没有办法覆盖这种行为,而无需交换id和key属性的名称?我尝试搞乱这个系列,comparator但无济于事......
快点一个.我正在尝试EnumerateFiles在C#应用程序中,我想找到目录中与给定模式不匹配的所有文件.所以我会有这样的事情:
var files = Directory.EnumerateFiles("MY_DIR_PATH", "NOT_MY_FILE_NAME");
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我的不是一部分?