我正在将我的Rails 2应用程序转换为Rails 3.到目前为止,我已经成功了.但是,有一个奇怪的问题,我必须明确要求任何外部文件.这是我原来的(即Rails 2)ActiveRecord模型:
class Book < ActiveRecord::Base
belongs_to :author
has_many :translations, :dependent => :destroy
include Freebase
...
end
Run Code Online (Sandbox Code Playgroud)
为了使它在Rails 3中工作,我必须要求模型Translation和Freebase.rb文件,因此:
class Book < ActiveRecord::Base
require File.expand_path(File.dirname(__FILE__) + '/translation.rb')
belongs_to :author
has_many :translations, :dependent => :destroy
require File.expand_path(File.dirname(__FILE__) + '../../../lib/freebase.rb')
include Freebase
...
end
Run Code Online (Sandbox Code Playgroud)
这是Rails 3中的正常方式,还是我做错了什么.换句话说,为什么有必要明确包含这些文件?Freebase.rb文件可能有一些原因放在lib文件夹中,但是同一个目录中的Translation模型呢?
多谢你们!
我GetDIBits用来将屏幕兼容设备上下文中的位图数据转换为某种格式的DIB.我的印象是,当源位图为每像素8位或更少时,DC仅用于合成色表.由于我的源位图是一个完整的32位彩色图像,这是一个一次性的程序,我没有屏幕DC方便,我将HDC参数设置为NULL.这没用.一旦我抓住屏幕DC并将其传入,它就开始工作了.
这让我想知道为什么GetDIBits需要设备上下文.它是干什么用的?
我想在单击特定按钮时从界面中删除一个框架.
这是调用的回调函数
def removeMyself(self):
del self
Run Code Online (Sandbox Code Playgroud)
但是,它并没有自行消除.我可能只是在没有更新界面的情况下删除python中的对象?
谢谢
更新
self.itemFrame = tk.Frame(parent)
self.itemFrame.pack(expand=False, side=tk.TOP)
removeB = tk.Button(self.itemFrame, text="Remove", width=10, command=self.removeIsosurface)
def removeIsosurface(self):
self.itemFrame.Destroy()
Run Code Online (Sandbox Code Playgroud)
错误信息:
AttributeError: Frame instance has no attribute 'Destroy'
Run Code Online (Sandbox Code Playgroud) 我一再被告知在编程时不要重复自己.我遇到过一个场景,我想知道是编写两个函数,每个函数用于特定目的,还是一个函数来处理这两个目的.我不确定什么是"最佳实践"方法:
所讨论的所有函数都涉及允许一个人将列表项的等级改变一个位置,加上或减去一个.所有项目及其等级都保存在MySQL数据库表中.)
两个函数一个用于将项目的等级向上移动一个,另一个用于将等级向下移动一个.
一个函数我可以通过添加"方向"的附加参数并使用if语句来决定是向上还是向下移动项目,将相同的函数写入一个函数.
在性能方面,编写两个函数并让它们共享负载会更好吗?如果相同的功能接收大量请求,是否存在"功能过载"这样的事情?
我不认为它是相关的,但我正在使用ColdFusion,而我的附加"方向"参数将是一个包含在语句中的字符串,该语句检查它的值以确定要采取的操作.
可能重复:
我为什么要学习算法?
您好,我是一个好奇的初学者,我不明白算法和数据结构在编程中是如何有用的.它们对于成为一名优秀的程序员至关重要吗?我为什么要学习它们以及它们在编写代码时如何帮助我?
非常感谢!
这是一个非常简单的请求,但我不太确定生成这两个值的最简单/最有效的方法.
我需要编写一个脚本来检查给定值是否在两个值之间.我很清楚这是如何在SQL中完成的.
我需要这些值的方式与以下类似.
Date testValue = new Date() //This represents the value we are testing
Date beginningOfDay = .... //This value would represent the date for
testValue at 12:00am
Date endOfDay = ... //This value would represent the date for
testValue at 11:59:59pm
Run Code Online (Sandbox Code Playgroud)
同样,Java Date()类型可能不是执行此类操作的最佳实践.最后,我只需要生成三个可以说的值
if testValue is after beginningOfDay && testValue is before endOfDay
//do logic
Run Code Online (Sandbox Code Playgroud) 代替直接使用php的date()函数,我想触发我创建的日期格式admin/settings/date-time/formats.
乍一看,我以为我能做到这一点:
format_date(strtotime($date), 'customformat');
Run Code Online (Sandbox Code Playgroud)
但看起来format_date()有一些硬编码的格式,并且不与日期/时间格式通信.我可以使用,$type='custom'但这就像php的date()与一些时区逻辑.当然我想在一个地方定义日期格式,并在我的代码中使用这些格式.
我必须在开发和发布数据库之间进行检查,并手动执行此操作,这既慢又不可靠(我只能直观地检查表).
有没有一种快速简便的方法来自动比较表模式?也许甚至一个功能,这内置到SQL服务器?
编辑:我只是比较结构,谢谢你指出这一点.