Tag: 模型

Rspec没有看到我的模型类。 未初始化的常量错误

我在Ruby on Rails应用程序中为我的模型编写Rspectesting。 而我收到这个错误,而开始'rspec规范' command: /spec/models/client_spec.rb:4:in `<top (required)>': uninitialized constant Client (NameError) 我使用Rails 4.0.0和Ruby 2.0.0 这是我的client_spec.rb: require 'spec_helper' describe Client do it 'is invalid without first_name', :focus => true do client = Client.new client.should_not be_valid end end 和Gemfile: source 'https://rubygems.org' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '4.0.0.rc1' # Use sqlite3 […]

Rails 4:在没有名称空间模型的子path中组织rails模型?

有没有可能有这样的事情? app/models/ app/models/users/user.rb app/models/users/education.rb 目标是更好地组织/ app / models文件夹,但不必命名空间模型。 Rails 3的一个未解答的问题是: Rails 3.2.9和子文件夹中的模型 。 用命名空间指定table_name似乎可行(请参阅Rails 4模型子文件夹 ),但是我想在没有命名空间的情况下执行此操作 。

使用ActiveRecord,是否有办法在after_update期间获取logging的旧值

安装使用一个简单的例子:我有一个表( Totals ),其中包含每个logging的amount列的总和在第二个表( Things )。 当一个thing.amount得到更新时,我想简单地将旧值和新值之间的差异添加到total.sum 。 现在我在self.amount期间减去self.amount并在after_update期间添加after_update 。 这使得WAY对更新成功的信任度过高。 约束:我不想简单地重新计算所有交易的总和。 问题:很简单,我想在after_updatecallback期间访问原始值。 你有什么办法做到这一点? 更新:我要和Luke Francl的想法一起去。 在after_updatecallback期间,你仍然可以访问self.attr_was值,这正是我想要的。 我也决定采用after_update实现,因为我想在模型中保留这种逻辑。 这样,不pipe我今后如何决定更新事务,我都会知道我正在更新事务的总和。 感谢大家的实施build议。

Django需要模型forms的字段

当我不需要他们的时候,我有一个表格可以根据需要出现几个字段。 这是来自models.py的表单 class CircuitForm(ModelForm): class Meta: model = Circuit exclude = ('lastPaged',) def __init__(self, *args, **kwargs): super(CircuitForm, self).__init__(*args, **kwargs) self.fields['begin'].widget = widgets.AdminSplitDateTime() self.fields['end'].widget = widgets.AdminSplitDateTime() 在实际的电路模型中,这些字段是这样定义的: begin = models.DateTimeField('Start Time', null=True, blank=True) end = models.DateTimeField('Stop Time', null=True, blank=True) 我的views.py这是在这里: def addCircuitForm(request): if request.method == 'POST': form = CircuitForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('/sla/all') form = […]

如何重命名项目中的rails控制器和模型

我开始了一个Rails应用程序,一切正常。 但现在,我想重新命名一个控制器和相关的模型: 我想把Corpspipe制员改成Stores而且模型也一样(没有最后的)。 看着谷歌,人们build议摧毁,然后再次生成控制器和模型。 问题是它会擦除每个文件的实际代码! 任何解决scheme 提前致谢。

Rails“validates_uniqueness_of”区分大小写

这里是模型(我正在使用SQLLite3): class School < ActiveRecord::Base validates_uniqueness_of :name end 例如,我添加“耶鲁”后,我不能添加“耶鲁”,但可以添加“耶鲁”。 我怎样才能使validation的情况下不敏感? 编辑:发现它 – 活动loggingvalidation

models.py越来越巨大,最好的方法是什么来分解它?

来自我的主pipe的指示:“我想避免在models.py放置任何逻辑,从这里开始,让我们用它作为访问数据库的类,并将所有逻辑保存在使用模型类的外部类中,他们。” 我觉得这是错误的路要走。 我觉得为了保持文件小而保持逻辑不是模型是一个坏主意。 如果逻辑在模型中是最好的,那么无论文件大小如何,这都是它应该去的地方。 那么有没有简单的方法来使用包括? 在PHP中,我想向主pipebuild议我们只有models.py include()来自其他地方的模型类。 从概念上讲,这将允许模型拥有我们想要的所有逻辑,但通过增加文件数量(导致冲突等修订控制问题较less)来保持文件的大小。 那么,是否有一种简单的方法可以从models.py文件中删除模型类,但仍然可以使用所有的Django工具? 或者,对于“large”models.py文件的一般问题,是否有完全不同的优雅的解决scheme? 任何input将不胜感激。

任何开源替代品balsamiq模型

正如标题所说,我正在寻找开源的替代balsamiq模型原型。 任何人都知道一个同样不错的select,这是开源的或基本上免费的。

在导轨中删除模型(“导轨g模型标题”的反转)

rails g model Rating user_id:integer message:string value:integer 我怎样才能完全删除这个模型? 谢谢

确定Rails after_savecallback中哪些属性发生了变化?

我在模型观察者中设置after_savecallback,只有当模型的发布属性从false更改为true时才发送通知。 由于方法改变了? 只有在保存模型之前才有用,我目前(并且不成功)试图这样做的方式如下: def before_save(blog) @og_published = blog.published? end def after_save(blog) if @og_published == false and blog.published? == true Notification.send(…) end end 有没有人有任何build议,以最好的方式来处理,最好使用模型观察callback(以免污染我的控制器代码)?