作为Ruby的隐藏功能的伴侣.
尝试将其保留到Rails,因为另一个是特定于Ruby的示例的更好地方.每个帖子请一个.
我正在寻找一些最小化css和js文件的应用程序或网站.理想情况下,他们可以批量处理所有或不批处理,一次一批.
我有两个不同的CVS存储库导出到git.他们在某些方面有所不同,我正在调查原因.该开发线可以追溯到几年,并且有数万次提交.
在开发行的开头,每个提交的SHA1 ID都是相同的,告诉我git-cvsimport在读取cvsps和import的结果时非常一致.
但是在第一次提交和昨天之间的某个时间,SHA1 ID开始出现分歧.我想通过比较每个存储库中的提交ID列表并查看缺少的内容来找出它的位置.这样做有什么好的工具或技术吗?
我尝试在构建应用程序时尽可能地保持RESTful,但我不确定的一件事是如何创建向导类型的工作流程,RESTful和简洁.
例如,采用多页注册流程.
选项1:我可以为每个步骤创建一个控制器,并在用户进入该步骤(或返回到该步骤)时调用new或edit.我以step1_controller,step2_controller等结束...
选项2:我可以使用参数,会话变量,状态机 - 无论如何创建一个控制器并跟踪它们在注册过程中的位置.所以我有signup_controller/step?id = 1
第一个选项是严格的REST,但不是很简洁,最后是一些额外的控制器.第二个选项更简洁,但打破了REST,我愿意这样做,但我不会掉以轻心.
有更好的选择吗?
我在rails上使用ruby,但是这个问题适用于其他MVC实现,比如ASP.NET MVC
我有一个Sinatra应用程序,它以只读或可编辑的方式提供页面,具体取决于用户是否已登录.
控制器设置一个变量@can_edit
,视图使用该变量来隐藏/显示编辑链接.我怎样才能@can_edit
在测试中测试它的价值?我不知道如何在Rack :: Test下获取控制器的当前实例.
我用来在控制器中class_eval
存根logged_in?
方法,但是我不得不求助于检查last_response.body
我的编辑链接以查看是否@can_edit
已经设置.
我该如何@can_edit
直接测试其值?
我正在使用pry,我想捕获,并使用shell命令的输出.
例如,如果我跑
pry(main)> .ls
Run Code Online (Sandbox Code Playgroud)
我想将文件列表放入一个可以在Ruby中使用的数组中.
我怎样才能做到这一点?
我想在下面的代码中对导出的方法进行单元测试.我想模拟私有方法中的值来控制返回的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) 我需要调用一个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进行连接?
谢谢!
编辑这不是出于测试目的,我需要检索数据以便在我的应用程序中使用.
在asp.net中,我需要在文本框中添加一个验证器,强制输入为数字.
这是内置的吗?
我已经在文本框中添加了必填字段验证器.
我试图将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) 我正在对服务进行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)响应时,我什么也没回来,所以我没有收到自定义错误消息。响应=无
有谁知道我如何使用适当的响应代码来实现这些自定义错误消息?
asp.net-mvc ×2
c# ×2
javascript ×2
ruby ×2
asp.net ×1
css ×1
git ×1
jscompress ×1
node.js ×1
optimization ×1
pg-copy ×1
prototypejs ×1
proxyquire ×1
pry ×1
rack ×1
rest ×1
shell ×1
sinatra ×1
testing ×1
validation ×1