我想知道如何使用ruby中的范围生成以下数组
["00","00","01","01","02", "02", ...... "10", "10"]
Run Code Online (Sandbox Code Playgroud)
我想重复每个元素两次,这就是我正在寻找答案的部分.我可以生成如下单个元素
("00".."10").to_a
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用循环等来做到这一点,但我正在寻找一个更简单的一行代码
谢谢
我有两个Devise模型,User和Business; 我希望两者都能够使用单一登录形式登录.我正在使用骨干js,我有一个自定义的视图,所以视图不是一个问题.ajax请求用于登录,它按预期适用于用户,但不适用于企业.
我搜索过谷歌,并提到了一些提到使用STI来解决这个问题的解决方案,但是项目已经完成,我现在无法做出这样的改变.我正在考虑重写Devise会话控制器和:
我无法弄清楚如何更改代码来实现上述目标,我不知道warden如何工作以及我需要调整哪些params来实现上述功能,需要调用哪些函数.任何人都可以指出我正确的方向或提供一个例子,说明我应该如何向前推进.
谢谢.
我收到了错误
ActionView::Template::Error (undefined method `values_at' for nil:NilClass):
Run Code Online (Sandbox Code Playgroud)
当使用nested_form gem时
这是我的代码
楷模
class Poll < ActiveRecord::Base
attr_accessible :question, :poll_answers_attributes
has_many :poll_answers
accepts_nested_attributes_for :poll_answers
end
class PollAnswer < ActiveRecord::Base
belongs_to :poll
attr_accessible :answer
end
Run Code Online (Sandbox Code Playgroud)
视图
=nested_form_for [:admin, @poll], mutipart: true, class: "form-horizontal" do |f|
.span6
.control-group
=f.label :question, class: "control-label"
.controls
=f.text_field :question, rows: "5", class: "span5"
= f.link_to_add "Add a Answer", :poll_answers
=f.submit "Create Post", class: "btn btn-primary"
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪
/home/abid/.bundler/ruby/1.9.1/nested_form-6232dd853c27/lib/nested_form/builder_mixin.rb:41:in `block in link_to_add'
/home/abid/.bundler/ruby/1.9.1/nested_form-6232dd853c27/lib/nested_form/view_helper.rb:53:in `call'
/home/abid/.bundler/ruby/1.9.1/nested_form-6232dd853c27/lib/nested_form/view_helper.rb:53:in `after_nested_form_callbacks'
/home/abid/.bundler/ruby/1.9.1/nested_form-6232dd853c27/lib/nested_form/view_helper.rb:8:in `block in nested_form_for' …Run Code Online (Sandbox Code Playgroud) 给定一个未知字符串,执行一个名为的实用程序函数
string returnRandomTripletFromString(string)
Run Code Online (Sandbox Code Playgroud)
该函数从未知字符串返回一个随机三元组,您还可以获得该字符串的长度
效用函数返回的随机三元组将保持字符串中字母的相对顺序,
让我们说这个字符串是它将返回的helloworld
'hel','wod','lor'
但它永远不会回来
'LHD'
因为h在字符串中的l之前
如何使用此实用程序函数猜测字符串,使用最少的函数调用.
counter_cache是否递增和递减激活active_record回调?
User << AR
has_many :cups
after_update :do_something
def do_something
"Will I be called when number of cups updated ?"
end
end
Cup << AR
belongs_to :user, counter_cache: true
end
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,当添加一个新杯并且它属于一个用户时,将调用函数do_something,将在该用户上调用update来更新cups_count,但是从我试过的看起来似乎是counter_cache更新没有火回调,可能是因为他们自己内部回调?
谢谢
我想将一个函数绑定到一个事件,但我想更改调用该函数的上下文
function Foo(){
t : "123",
bar: function(){
// I am here
$('#selector').bind('click' this.foo);
}
,
foo: function(){
//I want when to be able to use the current object here by this
//this.t should be 123 and this.bar should call the above function
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Rails 3.2资产管道来提供我的资产(图片,javascript .css).
我已经为照片上传添加了回形针.默认情况下回形针存储文件public/system
当我使用url回形针生成的东西时
/system/users/avatar/000/000/thumb/whatever.jpg
Run Code Online (Sandbox Code Playgroud)
它没有给我任何路线错误.该文件在上述位置,但我认为它可能与资产pipleline有关.
什么想法可能会出错?
所以我想知道我们是否可以在rails模型上使用条件allow_nil选项进行验证.
我想做的是能够根据一些逻辑(一些其他属性)allow_nil
所以我有一个产品型号可以保存为草稿.当被保存为草案时,价格可以是零,但是当不是草稿时,保存价格应该是数字.我该怎么做到这一点.以下似乎不起作用.它适用于草案,但即使状态不是草案也允许为零.
class Product<ActiveRecord::Base
attr_accessible :status, price
validates_numericality_of :price, allow_nil: :draft?
def draft?
self.status == "draft"
end
end
Run Code Online (Sandbox Code Playgroud)
看看rails docs我看起来没有选项将方法传递给allow_nil?
一种可能的解决方案是对两种情况进行单独的验证
with_options :unless => :draft? do |normal|
normal.validates_numericality_of :price
end
with_options :if => :draft? do |draft|
draft.validates_numericality_of :price, allow_nil: true
end
Run Code Online (Sandbox Code Playgroud)
有什么其他方法让这个工作?
谢谢
如何使用replace函数使用正则表达式将单个字符添加到JavaScript中的每一行?
我收到此错误
ArgumentError(信息需要name_or_domain):我正在使用delayed_job hirefire和heroku.以下是我的代码中的行
Notifier.delay.notify(self.artist, commented_on_artist, self.project, self.work_id)
Run Code Online (Sandbox Code Playgroud)
当我使用以下代码时,一切都很完美
Notifier.delay(self.artist, commented_on_artist, self.project, self.work_id).deliver
Run Code Online (Sandbox Code Playgroud)
错误来自heroku gem中的Client.rb来自此函数#在应用程序上显示模式,自定义域和协作者等信息.
def info(name_or_domain)
raise ArgumentError.new("name_or_domain is required for info") unless name_or_domain
name_or_domain = name_or_domain.gsub(/^(http:\/\/)?(www\.)?/, '')
doc = xml(get("/apps/#{name_or_domain}").to_s)
attrs = hash_from_xml_doc(doc)[:app]
attrs.merge!(:collaborators => list_collaborators(attrs[:name]))
attrs.merge!(:addons => installed_addons(attrs[:name]))
end
Run Code Online (Sandbox Code Playgroud)
我只是尝试了一些事情,并意识到问题不在于delayed_job它与雇佣火力,如果我删除雇佣宝石工作排队,我手动运行工人所有工作就像一个魅力.我无法获得雇佣工作.
我想知道我是否可以拥有多态关联和存在验证
假设我有一个business模型和一个address模型,并且address是多态的
class Business< ActiveRecord::Base
has_one :address, as: :addressable
validates_presence_of :address
end
class Address< ActiveRecord::Base
belongs_to :addressable, polymorphic: true
end
Run Code Online (Sandbox Code Playgroud)
有可能进行验证validates_presence_of :address吗?使用此设置创建对象时遇到问题.
我们首先要创建一个像这样的业务对象
b = Business.new(name: "Hello23")
b.address = Address.new(street: "House 43 BCD")
b.save!
Run Code Online (Sandbox Code Playgroud)
这不起作用.它给出了undefined method constantize for 0:Fixnum一个错误,因为当它试图将地址保存到db时,它找不到可寻址的id,因为业务尚未保存并且没有为其分配id .
但是从另一方面来说也是不可能的 - 如果没有地址我就无法保存业务.
处理这种情况的最佳方法是什么?
****除此之外,如果我还想在地址方面进行验证,就像这样**
validates_presence_of :addressable
Run Code Online (Sandbox Code Playgroud)
我已经在这2天内一直在努力解决这一切.让我们看看你们有什么想法?**
我有一个包含大量字段的大型表单,我们在rails中获取错误的方法是将它们驻留在模型对象内。我想要一种干净的方法来显示每个字段以外的错误,而不是分别显示。有没有可以做到这一点的宝石,如果现在可以做到这一点的最佳方法是什么?
我希望每个错误除显示错误所在的字段外显示。
activerecord ×3
validation ×3
javascript ×2
algorithm ×1
delayed-job ×1
devise ×1
forms ×1
heroku ×1
jquery ×1
nested-forms ×1
paperclip ×1
regex ×1
replace ×1
ruby ×1
warden ×1