小编Pan*_*kos的帖子

移至搜索查找的开始和结束

在vim/gvim中,我希望能够移动到当前搜索查找的前端和末尾.这可能吗?

例如,使用此文件:

A dog and a cat
A hat and a bat
Run Code Online (Sandbox Code Playgroud)

我希望能够执行搜索,例如/dog\sand,然后能够从'dog and'表达式的开头移动到结束和返回,以便我的光标从第3列开始,在字母'd'下面单词'dog'然后移到第9列的字母'd'或单词'and'.

我希望能够这样做的原因是我可以搜索表达式然后使用更改命令c,并结合移动命令来替换该特定搜索表达式.我不想在这里使用substitue和替换,我想使用change命令和移动键来执行此操作.

vim macvim

26
推荐指数
3
解决办法
5666
查看次数

测试使用CanCan和Devise与RSpec的视图

我试图测试一个简单的索引视图,其中包含以下代码:

- if can? :destroy, MyModel
  %th Options
Run Code Online (Sandbox Code Playgroud)

MyModelsController 有以下选项(继承资源+ CanCan + Devise):

class MyModelsController < ApplicationController
  inherit_resources
  nested_belongs_to :mymodel
  before_filter :authenticate_user!
  load_and_authorize_resource :project
  load_and_authorize_resource :mymodel, :through => :project
Run Code Online (Sandbox Code Playgroud)

运行规格时,它会在该行崩溃 - if can? :destroy, MyModel

Failure/Error: render
   ActionView::Template::Error:
      undefined method `authenticate' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

没有追溯,没有任何依据......

我想也许在测试视图时我没有被授权和签名,但是Devise::TestHelpers应该只包含在控制器测试中(这就是我的方法).

我试图覆盖方法可以吗?在两者Ability和控制器中,但没有产生任何影响.

ruby rspec ruby-on-rails devise cancan

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

ActionView :: Template :: Error(不兼容的字符编码:UTF-8和ASCII-8BIT)

我使用的是Ruby 1.9.2,Rails 3.0.4/3.0.5和Phusion Passenger 3.0.3/3.0.4.我的模板是用HAML编写的,我使用的是MySQL2 gem.我有一个控制器动作,当传递一个具有特殊字符的参数,如变音符号,给我以下错误:

ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT)
Run Code Online (Sandbox Code Playgroud)

该错误指向我的HAML模板的第一行,其中包含以下代码:

<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)

我的理解是,这是因为我有一个UTF-8字符串与ASCII-8BIT字符串连接,但我不能在我的生活中找出ASCII-8BIT字符串是什么.我已经检查过动作中的参数是使用UTF-8编码的,我已经添加了一个编码:UTF-8声明到HAML模板的顶部和ruby文件,我仍然得到这个错误.我的application.rb文件中也有一个config.encoding = "UTF-8"声明,以下所有结果都是UTF-8:

ENV['LANG']
__ENCODING__
Encoding.default_internal
Encoding.default_external
Run Code Online (Sandbox Code Playgroud)

这是踢球者:我无法在开发或生产中使用独立乘客或杂种在我的Mac-OSX上本地重现此结果.我只能在linux上运行nginx + passenger的生产服务器上重现它.我已经在生产服务器的控制台中验证了后面提到的命令也都是UTF-8.

您是否遇到过同样的错误?您是如何解决的?

ruby ruby-on-rails passenger ruby-on-rails-3 ruby-1.9.2

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

如何删除每一行的第一列?

我在尝试从每一行中删除第一列时遇到问题.我有一个感觉,这是我对jquery的理解.

我尝试了以下内容.

$("table:eq(2) tr td:first").remove() // this only removed the first cell

$("table:eq(2) tr td:first").each.remove() // didn't notice a difference
Run Code Online (Sandbox Code Playgroud)

我做错了什么想法?

jquery

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

如何在TextMate中自动完成HTML标签?

我将通过Michael Hartl的Ruby on Rails教程,和他一样,使用TextMate作为我的编辑器.今天,在他的教程的第3章中,我看到他在TextMate中做了一些我之前没见过的事:

当他在名为"whatever.html"的文件中键入标签时,标签会动态更新并创建相应的结束标记.因此,作为一个例子,如果他输入了<ht,那么TextMate会自动创建<html></html>,显然是在运行中.

我找到了自动完成标签的按键,但这有点不同.有任何想法如何做到这一点?

html textmate autocomplete ruby-on-rails

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

在模型验证失败的Rails中哪里呈现注释控制器?

我在我的rails应用程序中有一个简单的视频模型has_many评论.我在视频的节目页面上显示这些评论.当我提交表格时,一切正常; 但是,如果评论模型上存在验证错误,那么我的系统就会爆炸.如果评论模型上存在验证错误,我只想再次渲染视频的显示页面,并显示验证错误样式.如何在我的创建操作中执行此操作?非常感谢!

class CommentsController < ApplicationController
  def create
    @video = Video.find(params[:video_id])
    @comment = @video.comments.build(params[:comment])
    if @comment.save
      redirect_to @video, :notice => 'Thanks for posting your comments.'
    else
      render # what? What do I render in order to show the video page's show action with the validation error styling showing? Please help!
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

controller ruby-on-rails render

9
推荐指数
2
解决办法
3030
查看次数

每当有人尝试批量分配受保护的属性时,抛出异常

我正在修复客户端应用程序中的一些批量分配漏洞,我想确保Rails不会默默地丢弃大规模分配受保护属性的尝试.相反,我想抛出一个异常,所以我可以调查.

即,每当这通常出现在日志中时:

WARNING: Can't mass-assign these protected attributes: ...
Run Code Online (Sandbox Code Playgroud)

我想抛出异常(或者另外)

编辑:我正在使用Rails 2.3.4

activerecord attributes ruby-on-rails ruby-on-rails-2

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

我应该先了解10-15个铁路看到帮手?

我正在学习rails 3,想知道我应该先掌握哪些助手?

即最常使用哪些?

1. form_for
2. ??
..
..
Run Code Online (Sandbox Code Playgroud)

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

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

绝对是C程序中丢失的内存泄漏

有人能够阐明为什么Valgrind将这个程序归类为"绝对丢失:1个块中的2个字节"内存泄漏?我理解注释行解决了这个问题,但我不明白这个分类.根据Valgrind文档,似乎内存泄漏应归类为"间接可访问".我也很好奇为什么这甚至被认为是内存泄漏,并希望得到解释.即使程序在main函数结束时终止,手动释放所有内容也是一种好习惯吗?

#include <stdlib.h>

struct wrapper {
  char *data;
};

char *strdup(const char *);

struct wrapper *walloc(struct wrapper *root)
{
  if (root == NULL){
    root = (struct wrapper *) malloc(sizeof(struct wrapper));
    root->data = strdup("H");
  }

  return root;
}

int main(){
  struct wrapper *root;

  root = NULL;
  root = walloc(root);

  //free(root->data);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是Valgrind输出:

$ valgrind --leak-check=full ./leak
==26489== Memcheck, a memory error detector
==26489== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==26489== Using Valgrind-3.10.0 …
Run Code Online (Sandbox Code Playgroud)

c valgrind memory-leaks

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

Scaffold Rails中的外键下拉3次观看

我使用带有Rails 3的脚手架创建了2个模型.模型是位置和作业,每个作业都有一个位置.

我在脚手架生成代码中创建了所需的引用调用,但是当我查看视图以创建新作业时,我看到的只是一个文本框,我应该添加location_id.

我怎样才能将其作为下拉菜单而不是更好的用户体验?

ruby ruby-on-rails associations ruby-on-rails-3

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

Rails runner脚本不起作用

任何想法为什么这不起作用,我得到一个NoMethodError当我尝试运行下面的代码通过rails runner.

也许我正在调用rails runner,对Rails来说不好意思!

文件位置:

/app/scripts/data_import.rb
Run Code Online (Sandbox Code Playgroud)

命令:

rails runner -e development DataImport.say_hi
Run Code Online (Sandbox Code Playgroud)

错误:

undefined method `say_hi' for DataImport:Class (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

码:

class DataImport

  def say_hi
    puts "hi"
  end

end
Run Code Online (Sandbox Code Playgroud)

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

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

Rails中的全局控制器变量

我有一个ChatController@user它的变量.在我显示的主页面上@user.name.我也有破坏和创建使用ajax的方法,所以当我从聊天中删除一条消息时,@user变为零.为了防止问题调用namenil对象,我可以添加@user=User.find_by_id(:user_id)到每个方法.但如果我有很多方法,这就变得乏味了.我可以申报@user=User.find_by_id(:user_id)一次并干掉我的代码吗?

ruby ruby-on-rails

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