小编Bri*_*ian的帖子

Ruby on Rails的隐藏功能

作为Ruby的隐藏功能的伴侣.

尝试将其保留到Rails,因为另一个是特定于Ruby的示例的更好地方.每个帖子请一个.

ruby-on-rails

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

生产代码有哪些优秀的css和js最小化器?

我正在寻找一些最小化css和js文件的应用程序或网站.理想情况下,他们可以批量处理所有或不批处理,一次一批.

javascript css optimization jscompress

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

我如何比较两个git存储库?

我有两个不同的CVS存储库导出到git.他们在某些方面有所不同,我正在调查原因.该开发线可以追溯到几年,并且有数万次提交.

在开发行的开头,每个提交的SHA1 ID都是相同的,告诉我git-cvsimport在读取cvsps和import的结果时非常一致.

但是在第一次提交和昨天之间的某个时间,SHA1 ID开始出现分歧.我想通过比较每个存储库中的提交ID列表并查看缺少的内容来找出它的位置.这样做有什么好的工具或技术吗?

git version-control

29
推荐指数
4
解决办法
3万
查看次数

如何在MVC下创建简洁的RESTful向导?

我尝试在构建应用程序时尽可能地保持RESTful,但我不确定的一件事是如何创建向导类型的工作流程,RESTful和简洁.

例如,采用多页注册流程.

选项1:我可以为每个步骤创建一个控制器,并在用户进入该步骤(或返回到该步骤)时调用new或edit.我以step1_controller,step2_controller等结束...

选项2:我可以使用参数,会话变量,状态机 - 无论如何创建一个控制器并跟踪它们在注册过程中的位置.所以我有signup_controller/step?id = 1

第一个选项是严格的REST,但不是很简洁,最后是一些额外的控制器.第二个选项更简洁,但打破了REST,我愿意这样做,但我不会掉以轻心.

有更好的选择吗?

我在rails上使用ruby,但是这个问题适用于其他MVC实现,比如ASP.NET MVC

rest model-view-controller asp.net-mvc ruby-on-rails

8
推荐指数
2
解决办法
2745
查看次数

使用Rack :: Test和Sinatra测试控制器实例变量

我有一个Sinatra应用程序,它以只读或可编辑的方式提供页面,具体取决于用户是否已登录.

控制器设置一个变量@can_edit,视图使用该变量来隐藏/显示编辑链接.我怎样才能@can_edit在测试中测试它的价值?我不知道如何在Rack :: Test下获取控制器的当前实例.

我用来在控制器中class_eval存根logged_in?方法,但是我不得不求助于检查last_response.body我的编辑链接以查看是否@can_edit已经设置.

我该如何@can_edit直接测试其值?

ruby testing rack sinatra

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

如何捕获pry shell命令的输出?

我正在使用pry,我想捕获,并使用shell命令的输出.

例如,如果我跑

pry(main)> .ls
Run Code Online (Sandbox Code Playgroud)

我想将文件列表放入一个可以在Ruby中使用的数组中.

我怎样才能做到这一点?

ruby shell pry

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

单元测试使用模拟使用请求,管道和流的私有方法

我想在下面的代码中对导出的方法进行单元测试.我想模拟私有方法中的值来控制返回的Promise的拒绝/解析.client是已连接到数据库的node-postgres对象.

我知道我可以使用proxyquire来存根所需的库,但是如何模拟链接的方法.on('error', ...),.pipe(stream)以及.on('end', ...)我可以控制返回的值.

请注意,显示的导出方法是对实际方法的简化,导出importDomain是不可行的.

const copyFrom = require('pg-copy-streams').from
const request = require('request')
const Promise = require('bluebird')

// private
function importDomain (client, domain) {
    return new Promise((resolve, reject) => {
    let stream = client.query(copyFrom(`COPY ${domain.table} FROM STDIN;`))

    let req = request(`${domain.url}`)
    req.on('error', reject)
    req.pipe(stream)
       .on('error', reject)
       .on('end', resolve)
  })
}

// public
module.exports = (client) => {
  let domain = someFunctionReturningDomain()
  importDomain(client, domain)
}
Run Code Online (Sandbox Code Playgroud)

node.js proxyquire nodejs-stream pg-copy

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

使用C#WebClient伪造表单提交

我需要调用一个Web并从我的asp.net mvc应用程序中的模型中检索结果数据.在Web上访问时,表单如下所示:

<form id="textEntryForm" name="textEntryForm" method="post" action="/project/evaluate_to_pdf">
            <textarea id="p" rows="20" name="p" cols="132"/><br/>   
            <input type="button" value="parse" name="do_parse" onclick="new Ajax.Updater('parsedProject','/project/parse',{asynchronous:true,evalScripts:true,on404:function(e){alert('not found!')},parameters:Form.serialize(this.form)});return false"/>
            <input type="button" value="evaluate_to_html" name="do_evaluate_to_html" onclick="new Ajax.Updater('parsedProject','/project/evaluate_to_html',{asynchronous:true,evalScripts:true,on404:function(e){alert('not found!')},parameters:Form.serialize(this.form)});return false"/>
            <input type="button" value="evaluate" name="do_evaluate" onclick="new Ajax.Updater('parsedProject','/project/evaluate',{asynchronous:true,evalScripts:true,on404:function(e){alert('not found!')},parameters:Form.serialize(this.form)});return false"/>
            <input type="button" value="evaluate to pdf source" name="do_evaluate_to_pdf_source" onclick="new Ajax.Updater('parsedProject','/project/evaluate_to_pdf_source',{asynchronous:true,evalScripts:true,on404:function(e){alert('not found!')},parameters:Form.serialize(this.form)});return false"/>
            <input type="submit" id="do_evaluate_to_pdf" value="evaluate_to_pdf" name="do_evaluate_to_pdf"/>
        </form>
Run Code Online (Sandbox Code Playgroud)

我需要将输入的数据传递给textarea id ="p".如何添加,使用WebClient进行连接?

谢谢!

编辑这不是出于测试目的,我需要检索数据以便在我的应用程序中使用.

c# asp.net-mvc

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

查找没有WMI的USB驱动器的序列号

如何在不使用c#的WMI的情况下找到USB驱动器的序列号?

谢谢

c#

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

在asp.net中,我需要在文本框中添加验证器,强制输入为数字

在asp.net中,我需要在文本框中添加一个验证器,强制输入为数字.

这是内置的吗?

我已经在文本框中添加了必填字段验证器.

asp.net validation

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

如何将参数传递给内联javascript函数

我试图将story_id传递到最内层的内联函数,但它始终为0,即使它在外部函数中不是0.如何传递此值?

function activateSearch(){
  if($('story_filter')) Event.observe('story_filter', 'keyup',
    function(event) {
      $('stories_table').select(".story").each(
        function(story) {
          story_id = story.id.split('_')[1];
          story.select('.tableCell', '.indexCardContent').each(
            function(task, story_id) {
              hideStoryRow(story_id);
              task_filter = new RegExp($F('story_filter'), "i");
              if (task.innerHTML.match( task_filter ))
              {
                  showStoryRow(story_id);
                  throw $break;
              }
            }
          );
        }
      );
    }
  );
}
Run Code Online (Sandbox Code Playgroud)

javascript prototypejs

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

活动资​​源错误状态和响应正文

我正在对服务进行activeresource调用,我希望一些自定义错误消息作为反馈。我有一些验证不是正常的模型验证,所以我不能只返回@ object.errors。

因此,例如,我的验证之一就是这个。两个对象之间存在多对多关系,但我想将一个对象限制为与其他对象之间只有有限数量的关系(例如2)。这是一些代码:

在客户端中:

response = Customer.find(customer_id).put(:add_user, :user_id => user_id)
Run Code Online (Sandbox Code Playgroud)

这提出了向用户添加用户的请求。然后在服务中,我要检查此添加是否有效。

def add_user    
 @user = User.find(params[:user_id])
 @customer = Customer.find(params[:id])
 if @customer.users.length > 2
  render :xml => "ERR_only_2_users_allowed", :status => :unprocessable_entity
 end
end
Run Code Online (Sandbox Code Playgroud)

这是我的问题。在活动资源中,如果返回状态为错误,则客户端完全失败。我可以将状态更改为200,然后再返回err msg正文,但这似乎无法实现具有错误响应代码的目的。

我可以将来自客户端的整个请求调用放在开始/救援块中

begin
    response = Customer.find(customer_id).put(:add_user, :user_id => user_id)
  rescue ActiveResource::ResourceInvalid => e
    #return error code
end
Run Code Online (Sandbox Code Playgroud)

但是当我收到422(unprocessable_entity)响应时,我什么也没回来,所以我没有收到自定义错误消息。响应=无

有谁知道我如何使用适当的响应代码来实现这些自定义错误消息?

ruby-on-rails activeresource

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