小编spi*_*ock的帖子

在vim中剪切并粘贴多行

我在Mac 10.7.2上运行vim 7.3并且在切割和粘贴多行时遇到了一些麻烦.

在我的旧Linux设置(被盗,所以我不知道版本),我可以多次键入"dd",然后"p"将所有这些都拉回来.例如:键入:"dd dd",将删除两行.现在输入"p",行都被粘贴回缓冲区.

我知道我可以通过键入"2dd",然后输入"p"来完成我想要的操作 - 但我希望能够"dd" - 输出行而不提前计算行数.

有任何想法吗?

vim

55
推荐指数
5
解决办法
5万
查看次数

如何调试WordPress插件?

我最近继承了一个WordPress插件,里面有一些bug.我的问题是我也是WordPress的新手,我不知道如何记录调试消息,以便我可以弄清楚发生了什么.

我真的只需要一种方法来创建一个弹出窗口或登录到控制台.

debugging wordpress

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

如何使用rspec生成控制器规范?

我正在将devise_invitable集成到我的应用程序中,我不得不编写一个自定义控制器 - InvitationsController - 来覆盖gem中的一些方法.现在,我想编写测试来涵盖我已完成的工作,但我无法弄清楚如何为新控制器生成规范.任何帮助将不胜感激.

谢谢!

controller rspec ruby-on-rails-3 rails-generate

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

我可以为特定资源划分路线吗?

我一直在贪图rake routes永远的输出,我突然意识到有人必须知道更好的方法来检查路线.我的routes.rb名字中有一个资源account_groups:

resources :account_groups
Run Code Online (Sandbox Code Playgroud)

有没有告诉rake routes只返回与此资源相关的路线?

ruby rake routes ruby-on-rails

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

使用rspec测试rails3中资源的成员路由

我正在创建一个允许用户参加考试的应用程序.考试对象有很多问题,我希望用户分两部分参加考试.为了实现这个工作流程,我在config/routes.rb中创建了以下路由:

resources :exam do
  member do
    get 'get_part1'
    put 'put_part1'
    get 'get_part2'
    put 'put_part2'
  end
end
Run Code Online (Sandbox Code Playgroud)

所以,当用户发出GET/exam /:id/get_part1时,他们会看到第一组问题等等......我已经完成了所有这些工作,现在我正在尝试为它编写测试 - 我知道这是倒退但是我花了一段时间来弄清楚复杂的形式和东西.我想测试除非您是已登录的用户,否则无法访问考试控制器.这对于new和create来说是直截了当的,但是我无法弄清楚如何测试嵌套成员.这是我到目前为止所尝试的:

before(:each) do
  @exam = Exam.create
end                                                       

it "should deny access to 'get_part1'" do
  get get_part1_exam_path(@exam)                            
  response.should redirect_to(signin_path)
end
Run Code Online (Sandbox Code Playgroud)

但是,此测试失败,并出现以下错误:

Failure/Error: get get_part1_exam_path(@exam)
ActionController::RoutingError:
  No route matches {:controller=>"exams", :action=>"/exams/1/get_part1"}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.谢谢!

routing rspec ruby-on-rails-3

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

如何从rails控制台运行初始化程序?

我有一个初始化文件config/initializers/linkedin.rb,设置Linkedin gem,以便我的应用程序可以连接到LinkedIn服务并运行查询.我现在正在测试一些新功能,我想使用控制台.我的问题 - 从成为一个新手并且还没有很好地理解控制台 - 是我无法访问初始化的变量config/initializers/linkedin.rb.

有关如何在控制台中使用应用程序初始化程序的任何想法,以便我不必每次都手动运行它?

谢谢!

console initialization rails-console ruby-on-rails-3

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

在Java Web Start中启动文件错误

我正试图通过网络启动启动一个Java应用程序,我收到以下错误,我似乎无法弄清楚.任何提示,技巧或窍门来解决这个问题将不胜感激.

JNLPException[category: Launch File Error : Exception: null : LaunchDesc: 
<jnlp spec="1.0+" codebase="http://javadl.sun.com/webapps/jawsautodl/AutoDL/j2se/">
  <information>
    <title>J2RE 1.5.0_22 Installer</title>
    <vendor>Sun Microsystems, Inc.</vendor>
    <homepage href="null"/>
  </information>
  <security>
    <all-permissions/>
  </security>
  <update check="timeout" policy="always"/>
  <resources>
    <java href="http://java.sun.com/products/autodl/j2se" version="1.3+"/>
    <jar href="http://javadl.sun.com/webapps/jawsautodl/AutoDL/j2se/javaws-j2re-inst.jar" download="eager" main="false"/>
    <property name="installerLocation" value="jre-1_5_0_22-linux-i586.bin"/>
    <property name="installerSize" value="17283082"/>
    <property name="javaVersion" value="1.5.0_22"/>
    <property name="platformVersion" value="1.5"/>
    <property name="licenseSize" value="13238"/>
    <property name="waitString.0" value="[yes or no]"/>
    <property name="responseString.0" value="yes"/>
    <property name="osplatform" value="linux-i586"/>
  </resources>
  <installer-desc main-class="com.sun.webstart.installers.Main"/>
</jnlp> ]
    at com.sun.javaws.JnlpxArgs.executeInstallers(JnlpxArgs.java:500)
at com.sun.javaws.Launcher.prepareResources(Launcher.java:993)
at com.sun.javaws.Launcher.prepareAllResources(Launcher.java:621)
at com.sun.javaws.Launcher.prepareToLaunch(Launcher.java:327)
at com.sun.javaws.Launcher.prepareToLaunch(Launcher.java:199)
at com.sun.javaws.Launcher.launch(Launcher.java:116) …
Run Code Online (Sandbox Code Playgroud)

java jnlp

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

在ruby中模拟第三方对象的最佳方法是什么?

我正在使用twitter gem编写测试应用程序,我想编写集成测试,但我无法弄清楚如何在Twitter命名空间中模拟对象.这是我要测试的功能:

def build_twitter(omniauth)
  Twitter.configure do |config|
    config.consumer_key = TWITTER_KEY
    config.consumer_secret = TWITTER_SECRET
    config.oauth_token = omniauth['credentials']['token']
    config.oauth_token_secret = omniauth['credentials']['secret']
  end
  client = Twitter::Client.new
  user = client.current_user
  self.name = user.name
end
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试编写的rspec测试:

feature 'testing oauth' do
  before(:each) do
    @twitter = double("Twitter")
    @twitter.stub!(:configure).and_return true
    @client = double("Twitter::Client")
    @client.stub!(:current_user).and_return(@user)
    @user = double("Twitter::User")
    @user.stub!(:name).and_return("Tester")
  end

  scenario 'twitter' do

    visit root_path
    login_with_oauth

    page.should have_content("Pages#home")
  end
end
Run Code Online (Sandbox Code Playgroud)

但是,我收到了这个错误:

1) testing oauth twitter
   Failure/Error: login_with_oauth
   Twitter::Error::Unauthorized:
     GET https://api.twitter.com/1/account/verify_credentials.json: 401: Invalid / expired Token
   # ./app/models/user.rb:40:in `build_twitter'
   # …
Run Code Online (Sandbox Code Playgroud)

ruby testing rspec mocking

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

"respond_with_navigational"如何运作?

我正在使用Devise和DeviseInvitable来管理我的应用程序中的身份验证,我在向InvitationsController#update添加AJAX支持时遇到了一些麻烦.DeviseInvitable中的控制器如下所示:

# invitations_controller.rb

# PUT /resource/invitation                                                                                                 
def update
  self.resource = resource_class.accept_invitation!(params[resource_name])

  if resource.errors.empty?
    set_flash_message :notice, :updated
    sign_in(resource_name, resource)
    respond_with resource, :location => after_accept_path_for(resource)
  else
    respond_with_navigational(resource){ render_with_scope :edit }
  end
end
Run Code Online (Sandbox Code Playgroud)

resource.errors.empty? == true我们执行时,这很有效:

respond_with resource, :location => after_accept_path_for(resource)
Run Code Online (Sandbox Code Playgroud)

(即,呈现invitations/update.js.erb并进行我的javascript调用).问题是,当resource.errors.empty? == false我们执行时:

respond_with_navigational(resource){ render_with_scope :edit }
Run Code Online (Sandbox Code Playgroud)

服务器说:

Rendered invitations/update.js.erb (1.4ms)
Run Code Online (Sandbox Code Playgroud)

但我的javascript调用没有运行.任何人都可以解释应该做什么respond_with_navigational吗?我一直在谷歌搜索几个小时,我没有在任何地方找到这个api的解释.

谢谢!

javascript ajax jquery ruby-on-rails-3

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

如何导入新创建的ember插件?

我正在尝试创建我的第一个Ember AddOn,而我却陷入了将其导入Ember项目的困境.我已经创建了插件并像这样发布到github:

ember-cli$ ember addon test-addon
ember-cli$ cd test-addon
ember-cli/test-addon$ git remote add origin <github-url>
Run Code Online (Sandbox Code Playgroud)

然后,从我的项目,我安装插件:

test-app$ ember install <github-url>
Run Code Online (Sandbox Code Playgroud)

最后,尝试将其导入路线:

# app/rotues/index.coffee
import TestAddon from 'test-addon'
Run Code Online (Sandbox Code Playgroud)

但是,我在控制台上收到此错误:

Uncaught Error: Could not find module `test-addon` imported from `test-app/routes/index`
Run Code Online (Sandbox Code Playgroud)

我出错的任何想法?我可以看到node_modules目录中的插件但不是bower_components.我认为(这个)这是我的问题,但我不确定我还需要做些什么来设置我的插件.

ember.js ember-cli ember-cli-addons

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