小编Ale*_* DS的帖子

Git推送到错误的分支

使用git,经过一些'commit'和几次'push'之后,我意识到我正在使用错误的分支!

现在我必须以某种方式删除我在wrong_branch中的更改并提交并推送right_branch中的更改

什么是最好(和简单)的方法呢?

谢谢

git github

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

使用可选参数进行路由

我在路径文件中添加了:

map.show_book "/show_book/:name/year/:year", :controller => "book", :action => "show_version"
Run Code Online (Sandbox Code Playgroud)

我还补充说:

map.show_book "/show_book/:name", :controller => "book", :action => "show_version"
Run Code Online (Sandbox Code Playgroud)

显示最新的书而不指定年份.

但它不起作用,如果我没有过年,它就无法在"show_book/NAME"中找到路线.

你有一些想法为什么它不起作用?

谢谢 !

PS.我知道我可以使用year作为"?year = XXXX"的参数,但我想将年份用作URL的一部分

routing ruby-on-rails rails-routing ruby-on-rails-2

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

Capybara - 提交没有按钮的表格

我试图提交一个没有按钮的表单只使用Capybara和Rspec(没有Cucumber或Selenium,我知道已经存在一个问题).

我已经看到有一个要点是添加一个方法来提交没有按钮的表单:

module SubmitRackTestFormWithoutButton
  def submit_form!
    Capybara::RackTest::Form.new(driver, form).submit({})
  end
end
Capybara::RackTest::Node.send :include, SubmitRackTestFormWithoutButton
Run Code Online (Sandbox Code Playgroud)

https://gist.github.com/989533,但我没有让它工作,我对它发表了评论:

我得到未定义的方法`submit_form!' for #Capybara :: Node :: Element:...实际上是通过"Capybara :: RackTest :: Node.send:include,SubmitRackTestFormWithoutButton"方法submit_form!添加到节点(而不是元素),但找到返回元素

您是否有一些想法可以解决这个问题,或者其他一些解决方案来提交没有按钮的表单?

谢谢

testing bdd rspec ruby-on-rails capybara

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

在respond_to中呈现不同的Javascript文件

我陷入了一个(显然)简单的问题.在我的event_controller中,我有i_like_it动作:

  def i_like_it
    @event = Event.find(params[:id])

    ... # logic

    respond_to do |format|
      format.js
    end
  end
Run Code Online (Sandbox Code Playgroud)

在我的情况下,"i_like_it"被调用:method => PUT(它是一个Ajax调用,"i_like_it.js.erb"将作为脚本返回,它将在浏览器上执行.)

我想渲染一个具有不同名称的Javascript文件(不是i_like_it.js.erb),但我没有在Rails API文档中找到任何选项.

respond_to do |format|
  format.js { render ??? }
end
Run Code Online (Sandbox Code Playgroud)

Rails可以使用:js选项呈现vanilla JavaScript,但我不想在控制器中使用Javascript.

你有什么建议吗?

谢谢Alessandro DS

javascript ruby jquery ruby-on-rails

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

如何简化Vim中的"复制和粘贴"?

我发现在VIM中复制和粘贴的过程非常棘手:

  • 视觉模式
  • ÿ
  • p(或班次p)
  • 插入模式

如果您错误地使用" 删除 "键,您丢失了内容(由您删除的字符替换),您必须重新复制它!

我几个月来一直在研究vim,我喜欢它,但我讨厌复制和粘贴,还有一种简化方法吗?或者其他选择?

谢谢

vim editor

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

after_create和after_save命令

我做了一些测试,我发现after_create之前被调用而不是after_save(在Rails 2.3.9中)

那是对的吗 ?

谢谢

activerecord ruby-on-rails ruby-on-rails-3

8
推荐指数
1
解决办法
3781
查看次数

在Amazon S3中自动删除超过n天的对象(如何?)

我使用ruby lib(http://amazon.rubyforge.org/)在Amazon S3中存储了许多图像

我不在乎超过1周的照片,然后在S3中释放空间我必须删除那些照片.

我知道有一种方法可以删除某个存储桶中的对象:

S3Object.delete 'photo-1.jpg', 'photos'
Run Code Online (Sandbox Code Playgroud)

有没有办法自动删除超过一周的图像?

如果它不存在,我将不得不写一个守护进程来做到这一点:-(

谢谢


更新:现在有可能,检查罗伯托的答案.

ruby ruby-on-rails amazon-s3 amazon-web-services

7
推荐指数
2
解决办法
6969
查看次数

是否可以使用GIT仅从索引中删除文件?

GIT rm filename
Run Code Online (Sandbox Code Playgroud)

从索引以及工作目录中删除文件.是否可以仅从索引中删除文件?

谢谢你,Alessandro DS

git git-svn

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

针对不同用户角色的不同视图集

我正在开发一个rails应用程序,我有两个不同的用户角色:高级和基本.

我没有隐藏基本用户视图中的链接(使用CanCan),而是想管理两组不同的视图:一组用于高级用户,另一组用于基本用户.

目前我正在以这种方式工作:

 case current_operator.op_type
      when 'basic'
        format.html { render :template => "devices/index_basc.html.erb" }
      when 'advanced'
        format.html # index.html.erb
 end
Run Code Online (Sandbox Code Playgroud)

但我不喜欢在每个动作中指定基本用户的模板({render:template =>"devices/index_basc.html.erb"})我认为还有其他一些方法(我希望更整洁:)

你有什么想法 ?

谢谢,亚历山德罗

web-applications ruby-on-rails cancan

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

gitignore中的文件

我在生产服务器中有一个带有rails应用程序的存储库.

在repo中有.gitignore文件:

...
    config/database.yaml 
...
Run Code Online (Sandbox Code Playgroud)

每个开发客户端都有一个具有不同config/database.yaml的克隆repo.

我的问题是:

database.yaml在.gitignore中,然后当我运行git clone(在服务器上)时,将不会创建database.yaml,但我需要它.

我想,我做错了什么.你能看出我的错误在哪里吗?

谢谢你,亚历山德罗

git ruby-on-rails git-svn

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

Kotlin中import如何找到文件路径?

我已经阅读了 Kotlin 文档(https://kotlinlang.org/docs/packages.html),并且我了解到,在导入包时,包名称不需要与存储包的文件夹路径匹配(与Java 中会发生什么)。

我在创建包并将其导入其他类时没有遇到问题。

我想了解的是,编译器如何找到要导入的文件?

例如:

如果文件导入animals.mammals.cats.*

import animals.mammals.cats.*

...

Run Code Online (Sandbox Code Playgroud)

要导入的实体不需要存储在文件中/animals/mammals/cats.kt,只要包名称为“animals.mammals.cats”即可:

package animals.mammals.cats

...

Run Code Online (Sandbox Code Playgroud)

src/animals/kittens例如,这个 Kotlin 文件可以存储在。

换句话说,import由于包名称没有帮助,如何找到要加载的文件?

谢谢!

kotlin

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

Babel cli不会为浏览器生成JS

我正在尝试使用Babel生成JS.我的目的是使用ES6作为浏览器,我知道有很少的不同方法来设置它,但起初我想手动完成它.

这就是我做的:

  • 我安装了babel-cli
  • 我创建了2个文件夹src和lib(ES6代码在src中,lib包含babel生成的输出),我在src中放了一些基本的js代码.
  • 然后我发出 babel src --out-dir lib --watch

我会认为Babel生成的输出代码不包含导入/导出等ES6功能,但确实包含它.所以我不能在Brower中使用它.

怎么了?

javascript ecmascript-6 babeljs

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