小编Joh*_*ley的帖子

Rails if语句导致非法八进制数字错误?

我在视图中有以下if语句:

<% if @kase.jobno[1,2].to_i == 10 then %>
  <img src="../images/2010.jpg" alt="2010">
<% elsif @kase.jobno[1,2].to_i == 11 then %>
  <img src="../images/2011.jpg" alt="2011">
<% else %>
  <img src="../images/document.jpg" alt="Document" />
<% end %>
Run Code Online (Sandbox Code Playgroud)

但是,如果我想扩展语句的范围以显示特定图像,如果@ kase.jobno字段包含数字08并将语句更改为以下内容,则它的工作绝对完美:

<% if @kase.jobno[1,2].to_i == 09 then %>
  <img src="../images/20109.jpg" alt="2009">
<% elsif @kase.jobno[1,2].to_i == 10 then %>
  <img src="../images/2010.jpg" alt="2010">
<% elsif @kase.jobno[1,2].to_i == 11 then %>
  <img src="../images/2011.jpg" alt="2011">
<% else %>
  <img src="../images/document.jpg" alt="Document" />
<% end %>
Run Code Online (Sandbox Code Playgroud)

然后我收到以下错误:

Illegal octal digit
Run Code Online (Sandbox Code Playgroud)

这指向了09的价值.

是否不可能有一个if语句与0X(从零开始,后跟其他数字)数字进行比较?

谢谢, …

ruby ruby-on-rails

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

Rails托管建议 - EngineYard,Heroku,EC2

我正在为需要99.9999999999%正常运行时间保证的客户开发一个非常敏感的应用程序.

它是一个带有MySQL数据库的Rails应用程序.由于维护要求低且易于运行,我正在考虑在EngineYard上托管它.

由于正常运行时间问题,Heroku似乎不是完美的解决方案.

EC2也可以是一个很好的解决方案,但也许它需要太多的工作来安装和维护.

我的问题是:如何使用EngineYard,Heroku,EC2或您建议的任何其他Rails主机创建冗余系统?我是否需要在世界不同的地方复制2个实例?请告知最好的方法.

问候.

hosting web-applications ruby-on-rails

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

如何调用基类方法?

假设我有这样的类声明:

public abstract class IdentifiableEntity  {
    public boolean validate() {
        return true;
    }
}

public class PreferenceCategory extends IdentifiableEntity {
    public boolean validate() {
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,假设我创建了PreferenceCategory变量,我想调用IdentifiableEntity.validate()方法,而不是 PreferenceCategory.validate()方法.

我原本以为我可以使用强制转换(见下文),但它仍然调用重写的方法:

PreferenceCategory cat = new PreferenceCategory();

// this calls PreferenceCategory.validate(), not what I want
((IdentifiableEntity)cat).validate(); 
Run Code Online (Sandbox Code Playgroud)

有什么办法吗?

java inheritance abstract-class

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

为什么这个函数返回为undefined?

String.prototype.parse = function(f) {
    alert(this.replace(f, ""));
};
var a = "Hello World";
parse.apply(a, ["Hello"]);
Run Code Online (Sandbox Code Playgroud)

代码是否正确?

javascript

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

字符串的整数值

如何将"1,000"(作为字符串获得的输入)转换为整数?

java

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

Rails模型字段不更新到数据库

使用的模型

class Car < ActiveRecord::Base
  attr_accessor :model,:edition
  attr_accessible :model,:edition  
  has_many :wheels
end

class Wheel < ActiveRecord::Base
  attr_accessor :type,:tubeless
  attr_accessible :type,:tubeless
  belongs_to :car
end
Run Code Online (Sandbox Code Playgroud)

创建操作

irb(main):009:0> bnz = Car.create :model=>"BENZ" , :edition=>2011
=> #<Car id: 5, model: nil, edition: nil, created_at: "2011-08-26 09:08:08", upd
ated_at: "2011-08-26 09:08:08">
Run Code Online (Sandbox Code Playgroud)

问题: 以上创建记录成功,但我的:model和:edition值不会发送到数据库.只有id,created_at,updated_at值才会在数据库中创建.

更新操作

irb(main):010:0> fifth = Car.find(5)
irb(main):011:0> fifth.update_attributes(:edition=>2011, :model=>"BENZ")
=> true
irb(main):012:0> fifth.update_attributes!(:edition=>2011, :model=>"BENZ")
=> true
irb(main):013:0> fifth.update_attributes!(:edition=>2012, :model=>"BENZ")
=> true
irb(main):014:0>
Run Code Online (Sandbox Code Playgroud)

问题: 这里什么都没发生.在developement.log中,只触发select语句,不触发update语句

我正在使用sqlite db.使用sqlite manager firefox addon来查看db表.铁杆新手,感谢您的帮助.

ruby-on-rails

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

如何在Rails 3.1中将我的URL格式设置为username/controller /:id?

我希望它类似于Twitter处理其推文的URL的方式.

例如,现在我的URL看起来像这样:mydomain.com/feedbacks/1/,feedbacks控制器的名称在哪里.

我希望它看起来像:mydomain.com/username/feedbacks/1/类似于Twitter的:twitter.com/username/status/:id/.

routes.rb看起来像这样:

  resources :users do
      resources :feedbacks
  end
Run Code Online (Sandbox Code Playgroud)

当我这样的时候,它会给我URL mydomain.com/users/1/feedbacks,但我想要URL中的实际用户名.

我怎么做到的?

谢谢.

编辑1:如果您要为此问题添加另一个答案,请确保它针对已给出的答案解决我的意见/问题.否则它将是多余的.

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

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

使用jquery将文本字段的值聚焦在其值之后

我创建了一个表单,您可以从下拉菜单中选择一个选项.选择选项后,将为文本字段设置值.我还想要发生的是它在值之后关注那个文本字段.例如:我从下拉列表中选择Facebook," http://www.facebook.com/ "显示为文本字段的值.选择Facebook时,焦点也会转到已添加值的最后一个字符后的文本字段.

我用我所拥有的东西制作了一个JSFiddle:

http://jsfiddle.net/dgUrj/

JS:

$(document).ready(function() {
    //Add the right URL prefix for social media
    $('select').change(function() {
        console.log(this.value);
        if(this.value == "Facebook"){
         $('#social-url').val("http://www.facebook.com/");
        }
        if(this.value == "Twitter"){
         $('#social-url').val("http://www.twitter.com/");
        }
        if(this.value == "LinkedIn"){
         $('#social-url').val("http://www.linkedin.com/");
        }
    });

});
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

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

简单的Objective C字符串操作

我有以下格式的文件名

filename_ffffff.png
filename2_cccccc.png
...
Run Code Online (Sandbox Code Playgroud)

如何操作此字符串并将其十六进制值替换为我选择的值.

说新的价值是fffccc什么,filename_ffffff.png并把它变成filename_fffccc.png

-(NSString *)replace:(NSString *)input with:(NSString *)newHex{
//find in input a patern of 6 char hex followed by dot png
// remove it from the string
// add the newHex followed by png
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios nsregularexpression

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

生成必须遵循某些规则的唯一数字的最佳方法是什么?

一些背景:在德国(至少)发票号码必须遵循一定的规则:

  1. 必须订购
  2. 它们必须是连续的(可能没有间隙)

几个月后,他们被允许包含字符.有些客户希望使用这种可能性,客户不知道或害怕,他们坚持使用仅限数字的发票号码.

此外,客户不希望在零处启动它们.

我能想出很多方法来产生这样一个数字吗?我想知道:最好的方法是什么?

language-agnostic

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