我有这样的模型:
class User < ActiveRecord::Base
validates_length_of :name, :in => (2..5)
end
Run Code Online (Sandbox Code Playgroud)
我想测试一下这个验证:
it "should not allow too short name" do
u = User.new(:name => "a")
u.valid?
u.should have(1).error_on(:name)
end
Run Code Online (Sandbox Code Playgroud)
但是它没有测试设置了哪种错误name.我想知道,如果是too_short,too_long,或者一些其它的验证失败.
我可以在errors数组中查找消息文本,如下所示:
u.errors[:name].should include(I18n.t("activerecord.errors.models.user.attributes.name.too_short"))
Run Code Online (Sandbox Code Playgroud)
但是当我activerecord.errors.messages.too_short在locale文件中设置而不是特定于模型的消息时,这将失败.
那么,是否可以检查出现了哪种错误?
我在我的网络应用程序中使用以下登录表单.它在IE7,FF3.6和Chrome7.0中运行良好.除了Chrome似乎没有将此表单识别为登录表单,因此不提供我保存用户名/密码.FF和IE确实让我记住用户名/密码.
这是表格:
<form name="login_form" id="login_form" action="" method="POST" onsubmit="javascript:handleFunction('action_login', document.getElementById('user_name_id').value, document.getElementById('password_id').value); return false;">
<div class="login_line">name<input name="user_name" id="user_name_id" size="16" maxlength="16" value= "" type="text"></div>
<div class="login_line">password<input name="password" id="password_id" size="16" maxlength="16" type="password"></div>
<div class="login_line"><input type=submit class="icon icon_accept" value="login"></div>
</form> <!-- login_form -->
Run Code Online (Sandbox Code Playgroud)
编辑:我使用jquery(不一致,你可以看到),qTip(显示任何登录错误)和Xajax(作为ajax框架).handleFunction如下:
function handleFunction (functionName)
{
// remove any static qtip from screen
if ( $('#qtip_close_button').length )
{
// click on close button of qtip
$('#qtip_close_button').click();
}
// remove the first argument from the arguments list
var argArray = $.makeArray(arguments).slice(1);
xajax.request({ xjxfun : …Run Code Online (Sandbox Code Playgroud) 我正在研究UserViewModel,我想知道在VM中进行微小计算是否合适,或者我是否需要将其进一步分离并在其他地方进行计算.
Public Class UserViewModel
Public Property UserName As String
Public Property Email As String
Public Property Website As String
Public Property ID As Integer
Public Property OpenIds As List(Of OpenID)
Public Property UserAge As String
Public Property About As String
Public Property Slug As String
Public Property LastSeen As String
Public Property Region As String
Public Property MemberSince As String
Public Property Reputation As String
Public Property isUserMatch As Boolean = False
Private MarkDownSharp As MarkdownSharp.Markdown
Public Sub New(ByVal user …Run Code Online (Sandbox Code Playgroud) 我正在努力解决我在作业上遇到的问题.
如何在Java中检查值是否在一个范围内,例如1≤值≤31,而不使用if,switch或任何其他控制结构?
我有一些C#代码看起来像这样:
uint a = 0x9E3779B9;
a += (uint)(url[k + 0] + (url[k + 1] << 8) + (url[k + 2] << 16) + (url[k + 3] << 24));
Run Code Online (Sandbox Code Playgroud)
在那段代码之后,a == 228 452 386
现在我正在尝试将此C#代码转换为PHP,但在PHP中,数字不会以相同的方式溢出:
$a = 0x9E3779B9;
$a += ($url[$k+0] + ($url[$k+1] << 8) + ($url[$k+2] << 16) + ($url[$k+3] << 24));
Run Code Online (Sandbox Code Playgroud)
在那段代码之后,$ a == 4 523 419 682
在两个coses中,"url"被视为ascii值的数组.返回相同的结果,直到$ a被添加到第二行的结果.那时C#uint溢出到2.28亿.PHP变得"聪明"并提出了"正确"的答案.
但我想要C#给出的溢出答案.我该怎么办?
我的应用程序中有一个图像缓存,它使用SoftReferences实现.Dalvik以相对较小的堆启动应用程序,然后在需求的情况下增加它.但我想从一开始就让我的堆大小更大.这是因为当我已经在缓存中有一些图像,并且活动开始(例如)或其他峰值内存需求发生时,我的缓存被清除,以便为该峰值需求提供内存.结果,在峰值消失后,我仍然有2-3 MB的可用空间,但我的缓存是空的!
我看到这个问题的解决方案是预先分配一个更大的正式堆,所以即使峰值消耗为2-3 MB,它仍然有一些空间,所以我的SoftReferences不会被清除.
我发现这VMRuntime.getRuntime().setMinimumHeapSize(BIGGER_SIZE)会有所帮助.尤其是,谷歌使用,在他们的应用程序,如提到这里.但是,VMRuntime类已标记为已弃用,并且在将来的版本中表示将从公共API中删除.所以setMinimumHeapSize不是一个永久的解决方案.
然后我如何让Dalvik在启动时增加我的堆?
目前,我通过分配一个大型数组并释放它来使用一种非常简单和俗气的技术.这使得Dalvik成长为我想要的堆.但是,我确信必须有更优雅的方式.你能告诉我吗?
SQL Server 2008 R2
为什么
create table A
(
id int,
primary key nonclustered (id)
)
Run Code Online (Sandbox Code Playgroud)
是正确的,执行没有错误?
但
create table A
(
id int,
primary key nonclustered id
)
Run Code Online (Sandbox Code Playgroud)
是错误的?给
')'附近的语法不正确.
附带问题:
为什么
create table c(id int primary key clustered)
Run Code Online (Sandbox Code Playgroud)
被执行
但是
create table c(id int primary key nonclustered)
Run Code Online (Sandbox Code Playgroud)
是错误的?对不起,两个都有效.
是否建议纠正语法不一致?
t-sql sql-server primary-key sql-server-2008-r2 non-clustered-index
对于我的部分应用,会向用户显示一个名称列表,并要求他们按照自己的意愿对其进行分组.
(注意,ListView代码是从Android视图教程中逐字复制的.我还没有根据我的需要对其进行定制,我只想弄清楚如何使其工作.)
基本布局是一个LinearLayout,包含一个ScrollView(在下面的代码中称为"groupsScrollView"),包含一个RelativeLayout.我有一些按钮和文本,然后是我的ListView,它显示了名称列表.所有这一切都高于可见屏幕区域,因此允许用户垂直滚动以查看所有内容.
这一切都很漂亮,除非页面加载时总是预先滚动到我的ListView顶部 - 在页面中间.我创建的文本和按钮告诉用户该做什么是不可见的.
我可以抓住屏幕并向上滚动,这很好用,但我希望屏幕加载已经滚动到顶部.用户不必向上滚动以查看新加载页面的顶部.但我尝试以编程方式滚动到屏幕顶部的所有内容都失败了.
这是我的onCreate方法:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.groups);
mainScrollView = (ScrollView)findViewById(R.id.groupsScrollView);
//get the Bundle out of the Intent...
Bundle extras = getIntent().getExtras();
mNames = extras.getStringArray("mNames");
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, mNames));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
//This is the line I'm having issues with
mainScrollView.pageScroll(View.FOCUS_UP);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
Toast.LENGTH_SHORT).show();
}
}); …Run Code Online (Sandbox Code Playgroud) 多年来我一直使用Darcs作为我唯一的DVCS ...前段时间我探索了我喜欢的Monotone.
然而,两者的主要问题是缺乏完整的托管解决方案.
Fossil看起来很有趣(虽然我们不喜欢它使用非标准的wiki标记),考虑到它在托管要求方面非常轻,并且结合了分布式bug跟踪器,这消除了对darcs场景中的一些公共托管解决方案的需求.和单调的.
然而,Fossil并没有被广泛采用并且仍然是非常年轻的项目,所以我很好奇它如何与其他更成熟的DVCS-es(bzr,git,hg)一起运行...
基于我从文档中收集的信息,我发现它只能从CVS导入,尽管似乎有一些工具可以从git导入.
然而,更严重的问题是,通过使用例如"标准"快速导出/导入工具链,没有工具可以从Fossil迁移到其他东西.
在档案中,我看到Hipp博士提到'解构'命令,但对Fossil不够熟悉,我很好奇它是如何用于将Fossil的文物输出到其他DVCS中,或者如果我不知道其他一些DVCS工具/转换器用于此类任务?
这是一个严重的问题,问题是如果没有这样的工具,是否最好只使用bzr/hg(我们不是Git的粉丝,并希望该工具在Linux/Mac/Win上运行良好的开源项目)相反,他们的公共主机,如LP和Bitbucket?
我正在尝试使用eclipse for Java EE来开发Web应用程序.
我需要使用Tomcat作为我的服务器.我已经下载了Tomcat并且它正在运行.但是我的程序没有编译.
我收到以下错误:
导入javax.servlet无法解析.
我需要做什么?
android ×2
java ×2
activerecord ×1
asp.net-mvc ×1
c# ×1
dvcs ×1
eclipse ×1
forms ×1
fossil ×1
heap ×1
html ×1
listview ×1
login ×1
math ×1
migration ×1
overflow ×1
php ×1
primary-key ×1
rspec ×1
scrollview ×1
servlets ×1
size ×1
sql-server ×1
t-sql ×1
testing ×1
tomcat ×1
uint ×1
uint32 ×1
validation ×1
viewmodel ×1