我有一个带有验证的模型,我发现在以前没有验证对象的情况下我无法更新属性.
我已经尝试on => :create在每个验证行的末尾添加语法,但我得到了相同的结果.
我的公告模型有以下验证:
validates_presence_of :title
validates_presence_of :description
validates_presence_of :announcement_type_id
validate :validates_publication_date
validate :validates_start_date
validate :validates_start_end_dates
validate :validates_category
validate :validates_province
validates_length_of :title, :in => 6..255, :on => :save
validates_length_of :subtitle, :in => 0..255, :on => :save
validates_length_of :subtitle, :in => 0..255, :on => :save
validates_length_of :place, :in => 0..50, :on => :save
validates_numericality_of :vacants, :greater_than_or_equal_to => 0, :only_integer => true
validates_numericality_of :price, :greater_than_or_equal_to => 0, :only_integer => true
Run Code Online (Sandbox Code Playgroud)
我的rake任务执行以下操作:
task :announcements_expiration => :environment do
announcements = Announcement.expired …Run Code Online (Sandbox Code Playgroud) 你能告诉我创建has_one关系的最佳做法吗?
如果我有一个用户模型,它必须有一个配置文件...
我怎么能做到这一点?
一个解决方案是:
# user.rb
class User << ActiveRecord::Base
after_create :set_default_association
def set_default_association
self.create_profile
end
end
Run Code Online (Sandbox Code Playgroud)
但这似乎不是很干净......有什么建议吗?
ruby activerecord ruby-on-rails associations ruby-on-rails-3
我成功注册了一个服务工作者,但接着是代码
navigator.serviceWorker.ready.then(function(serviceWorkerRegistration) {
// Do we already have a push message subscription?
....
Run Code Online (Sandbox Code Playgroud)
挂起 - 永远不会调用该函数.为什么?
使用自调用函数来包装严格模式兼容代码(通常称为严格模式编译指示)被认为是一种好习惯:
(function(){
"use strict";
// Strict code here
}());
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在这种情况下声明全局变量?我今天知道的三种选择:
备选方案1:
var GLOB = {};
(function(){
"use strict";
}());
Run Code Online (Sandbox Code Playgroud)
备选方案2:
(function(){
"use strict";
window.GLOB = {};
}());
Run Code Online (Sandbox Code Playgroud)
备选方案3:
(function(win){
"use strict";
win.GLOB = {};
}(window));
Run Code Online (Sandbox Code Playgroud)
任何偏好和动机?其他选择?
这是我的形式部分:
<%= f.simple_fields_for :photo_attributes, :html => { :multipart => true } do |d| %>
<%= d.label :image, :label => 'Upload logo', :required => false %>
<%= d.file_field :image, :label => 'Image, :required => false', :style => 'margin-bottom:2px' %>
<%= d.input :image_url, :label => 'Billed URL', :required => false %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
如果操作是编辑,我想改为显示:
<%= f.simple_fields_for :photo, :html => { :multipart => true } do |d| %>
<%= d.label :image, :label => 'Upload logo', :required => false %>
<%= d.file_field :image, …Run Code Online (Sandbox Code Playgroud) 什么是使用的利弊:
FooLib::Plugins
FooLib::Plugins::Bar
Run Code Online (Sandbox Code Playgroud)
与
FooLib::Plugin
FooLib::Plugin::Bar
Run Code Online (Sandbox Code Playgroud)
命名惯例?你会用什么或者你用的是什么?在社区中更常用的是什么?
你如何测试你的应用程序Iñtërnâtiônàlizætiøn合规性?我告诉人们将Unicode字符串Iñtërnâtiônàlizætiøn存储到每个字段中,然后查看它是否在输出中正确显示.
---包括在Excel报告中作为单元格内容的输出,以及用于docs,xml文件等的rtf格式.
还应该做哪些其他测试?
来自@Paddy的想法:
还可以尝试从右到左的语言.例如,שלוםירושלים([耶路撒冷的和平]).应该是这样的:
שלוםירושליםhttp://sandbox.kluger.com/shalom.jpg
注意:Stackoverflow正确实现.如果文本与图像不匹配,则说明浏览器,操作系统或代理可能存在问题.
另请注意:您不必更改或"设置"已在运行的应用程序以接受W欧洲字符或希伯来语示例.您应该只需在应用程序中键入这些字符,并让它们在输出中正确返回.如果您没有放置希伯来语键盘,请将此问题中的示例复制并粘贴到您的应用中.
我知道有几个Javascript框架可以帮助为iPhone和ipod Touch创建webapps:
我倾向于Ciui,但想要你的想法.
您使用哪种工具包用于iPhone Web应用程序?
谢谢,
拉里
从答案中添加:
JQtouch vs JQuery已于 2010年12月12日添加.以下是关于JQtouch与Dave Oliver的JQuery mobile的公共董事会评论:JQuery Mobile是JQTouch的另一个进化步骤.JQTouch现在很稳定(功能包含在Sencha Touch框架中),而JQuery Mobile此时只处于Alpha状态.
在"学习JQTouch的教训"之后,JQuery Mobile采用了一些可能或可能不符合您自己喜欢的新理念.除此之外,它定义了"跨平台的外观和感觉"(虽然它稍后会添加一个版本的JQuery的自动主题生成器).相比之下,JQTouch是中性的(尽管你必须做一些工作才能让你的外观和感觉看起来像你想要的那样).
您有时听到的关于JQTouch的主要缺点是缺少固定位置页脚和子窗格滚动(原因:iPhone原生应用程序具有这些功能).事实证明,其他聪明人以JQTouch内部的方式解决了这个问题(参见,例如,iScroll).
我认为JQuery团队正在开发一个非常引人注目的产品,我认为它会引起很多人的兴趣和额外的社区审查,这很好.但是,对于真正的应用程序进行了实验,它在这一点上对于生产使用来说有点太新了.正如他们所说,"观看这个空间".
所以我是编程的新手,我正在尝试用Eloquent Javascript这本书来学习JS.
到目前为止一直很好,直到我用以下代码到达一个例子
function makeAddFunction(amount) {
function add(number) {
return number + amount;
}
return add;
}
var addTwo = makeAddFunction(2);
var addFive = makeAddFunction(5);
show(addTwo(1) + addFive(1));
Run Code Online (Sandbox Code Playgroud)
注意:show就像alert,只显示教程集成的JS控制台屏幕上的变量.
作者说这是一个展示词汇范围如何允许合成函数的例子. 这里的章节
我不明白的是如何addTwo和addFive,这理应是变量,可以将参数传递给函数makeAddFunction和add,更具体地说,请问该函数add知道变量要发送的参数是参数number.
谢谢你的帮助!
ruby ×3
javascript ×2
activerecord ×1
associations ×1
calendar ×1
fullcalendar ×1
iphone ×1
module ×1
namespaces ×1
naming ×1
testing ×1
validation ×1