小编JW8*_*JW8的帖子

构建失败java.lang.OutOfMemoryError:Java堆空间

我在构建build.xml时遇到了这个问题.

BUILD FAILED
java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Arrays.java:2786)
    at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:94)
    at org.codehaus.cargo.module.DefaultJarArchive.<init>(DefaultJarArchive.
java:75)
    at org.codehaus.cargo.module.DefaultJarArchive.<init>(DefaultJarArchive.
java:56)
    at org.codehaus.cargo.module.webapp.DefaultWarArchive.<init>(DefaultWarA
rchive.java:69)
    at org.apache.cactus.integration.ant.CactifyWarTask.addJarWithClass(Cact
ifyWarTask.java:652)
    at org.apache.cactus.integration.ant.CactifyWarTask.addCactusJars(Cactif
yWarTask.java:627)
    at org.apache.cactus.integration.ant.CactifyWarTask.execute(CactifyWarTa
sk.java:519)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
a:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:62)
    at net.sf.antcontrib.logic.IfTask.execute(IfTask.java:197)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
a:106)
    at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:154)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
a:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at …
Run Code Online (Sandbox Code Playgroud)

java ant build

24
推荐指数
3
解决办法
6万
查看次数

Rails表单验证

我有一个Rails应用程序,允许用户通过填写​​一个扩展的表单来构建数据库查询.我想知道在Rails中检查表单参数的最佳实践.以前,我有我的results方法(表单提交的方法)执行以下操作:

if params[:name] && !params[:name].blank?
  @name = params[:name]
else
  flash[:error] = 'You must give a name'
  redirect_to :action => 'index'
  return
end
Run Code Online (Sandbox Code Playgroud)

但对于几个表格领域,每个人都看到这个重复,这很令人厌烦.我不能只是将它们全部放在某个循环中以检查每个字段,因为字段设置不同:

  • 一把钥匙: params[:name]
  • 一把钥匙和一把子钥匙: params[:image][:font_size]
  • 如果设置了另一个字段,则只期望填写一些表单字段

等等.这也是重复的,因为我flash[:error]为每个缺失/无效参数设置,并为每个参数重定向到相同的URL.我切换到使用一个before_filter检查所有必要的表单参数,只有一切都没问题才返回true.然后我的results方法继续,变量只是被分配为flat-out,不涉及检查:

@name = params[:name]
Run Code Online (Sandbox Code Playgroud)

在我的validate_form方法中,我有以下代码部分:

if (
  params[:analysis_type][:to_s] == 'development' ||
  params[:results_to_generate].include?('graph')
)
  {:graph_type => :to_s, :graph_width => :to_s,
   :theme => :to_s}.each do |key, sub_key|
    unless params[key] && params[key][sub_key]
      flash[:error] = "Cannot leave '#{Inflector.humanize(key)}' blank"
      redirect_to(url)
      return false
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我只是想知道我是否会以最好的方式解决这个问题,或者在参数验证方面我是否遗漏了一些明显的东西.我担心这仍然不是最有效的技术,因为我有几个块,我分配一个值 …

forms validation ruby-on-rails

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

在哪里放置ActiveModel :: Validator?

我试着关注http://api.rubyonrails.org/classes/ActiveModel/Validator.html,但我应该把它放在哪里

 class MyValidator < ActiveModel::Validator
    def validate(record)
      if some_complex_logic
        record.errors[:base] = "This record is invalid"
      end
    end

    private
      def some_complex_logic
        # ...
      end
  end
Run Code Online (Sandbox Code Playgroud)

ruby validation ruby-on-rails activemodel

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

如何在Rails 3中验证非模型表单?

假设我有一个搜索表单,我想验证关键字的长度.我希望表单突出显示无效字段(如模型表单).我到处寻找,似乎无法找到有关在Rails 3中验证非模型支持的表单的任何有用信息.我已经尝试了可验证的 gem,但这似乎不适用于Rails 3:

undefined method `model_name' for Login:Class.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

ruby forms validation ruby-on-rails ruby-on-rails-3

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

如何为所有RoR模型将include_root_in_json设置为false?

如何为所有RoR模型将include_root_in_json设置为false?

我试图在application.rb中设置ActiveModel :: Base.include_root_in_json = false,但它没有任何效果.

json ruby-on-rails activemodel ruby-on-rails-3

17
推荐指数
2
解决办法
7137
查看次数

表单提交后从输入掩码中删除文字?

这个问题已经被问到,但解决方案还不清楚.

我使用乔什布什的MaskedInput插件为jQuery

我想要实现的是:

例如:带有面罩的电话输入

    $("#txtPhone").mask("(99)9999-9999");
Run Code Online (Sandbox Code Playgroud)

等于:(00)9398-8373

我希望它提交:0093988373

------是否可以在提交时删除.mask但保留值?

jquery plugins mask maskedinput

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

为什么黄瓜被认为是集成测试工具而不是单元测试工具?

这一直困扰着我.为什么人们说在rspec中进行单元测试而在黄瓜中进行整合测试?我不是在问为什么这些测试是必要的 - 我知道集成和单元测试之间的区别.我只是不明白为什么,鉴于黄瓜完全可定制的语法,它不用于单元测试?

在我看来,为黄瓜和rspec编写相同数量的代码,唯一的区别是,对于黄瓜,您将测试逻辑与测试编写分开.

ruby unit-testing cucumber

12
推荐指数
2
解决办法
5922
查看次数

在Rails中关联标签和单选按钮

我正在使用Rails 2.3.8.我的代码:

<%= f.radio_button :status, "draft" %>
<%= f.label :status, "Draft" %>
<%= f.radio_button :status, "published" %>
<%= f.label :status, "Published" %>
Run Code Online (Sandbox Code Playgroud)

输出:

<input id="shop_status_draft" name="shop[status]" type="radio" value="draft" />
<label for="shop_status">Draft</label>
<input checked="checked" id="shop_status_published" name="shop[status]" type="radio" value="published" />
<label for="shop_status">Published</label>
Run Code Online (Sandbox Code Playgroud)

显然,label没有正确地关联我的单选按钮.我想label和单选按钮一样id.我怎么能纠正这个?

谢谢.

forms ruby-on-rails

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

Ruby on Rails:如何让多个提交按钮转到不同的方法(也许带有with_action?)

所以..

<%= submit_tag 'Save', :name => 'save' %>
<%= submit_tag 'Save to Library', :name => 'library' %>
Run Code Online (Sandbox Code Playgroud)

然后在我的控制器中:

with_action do |a|
    a.save do

    end

    a.library do

    end
end
Run Code Online (Sandbox Code Playgroud)

问题是只有一个动作被调用...对于两个submit_tags都是同一个...任何想法为什么?

或者我如何获得两个按钮将表单提交给两种不同的方法?

ruby forms ruby-on-rails form-submit

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

从两个字符串数组返回公共元素的最有效方法

在Java中,从两个String Arrays返回公共元素的最有效方法是什么?我可以用一对for循环来做,但这似乎不是非常有效.根据我对类似SO问题的回顾,我能想出的最好的是转换为a List然后应用:retainAll

List<String> compareList = Arrays.asList(strArr1);
List<String> baseList = Arrays.asList(strArr2);
baseList.retainAll(compareList);
Run Code Online (Sandbox Code Playgroud)

java arrays compare

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