Tag: 模型

Rails – 如果另一个字段具有特定值,如何validation字段?

我是Rails的新手,我现在遇到了一个我无法用我的朋友谷歌解决的问题:) 在我的表格中,我有一个具有三个值的选择: Apple , Banana和Cherry 。 如果我从选择中选择Apple ,我会隐藏另一个Select-和带有一些Javascript的文本字段,因为当选择Apple时,不再需要填写其他两个字段。 所以现在我在提交表单时validation表单时遇到问题。 我发现了一些类似的问题,例如“如果另一个是空白则仅validation字段”。 这个问题解决了这样: validates_presence_of :mobile_number, :unless => :home_phone? 所以我刚刚尝试了第一件突然出现的事情: validates_presence_of :state, :granted_at, :if => :type != 1 但是当我运行它时,我收到此错误: undefined method `validate’ for true:TrueClass 所以现在我没有找到如何从创建的对象中访问值…感谢您提前获得的帮助,我希望我的问题不像听起来那么明显:-)

Ruby on Rails:如何在没有Active Record的情况下validation模型?

我目前正在尝试validation没有ActiveRecord::Baseinheritance的字段。 我的模型将数据存储在缓存服务器上,因此我不需要ActiveRecord。 无论如何,我想validation模型的字段,就像我使用ActiveRecord一样(例如validates_numericality_of :quantity, :greater_than => 0 )? 我怎样才能做到这一点? 非常感谢您的帮助。

使用Paperclip Rails 4多个文件附件

我知道Stackoverflow上有几篇post和几个关于这个主题的教程。 然而,他们都没有设法解决我的问题,其中大多数也已过时。 我正在尝试使用Rails 4中的paperclip gem将多个图像添加到项目中。当我尝试上传它时,我确实看到附加在params中的资产。 它们似乎没有添加到project_paramns但是.. 希望有人可以帮助我。 这是我的projects_controller class ProjectsController < ApplicationController before_filter :find_project, only: [:show, :edit, :update, :destroy] def index @projects = Project.all end def show end def new @project = Project.new end def create @project = Project.new(project_params) @project.save redirect_to project_path(@project) end def edit end def update @project.update(project_params) redirect_to project_path(@project) end def destroy @project.destroy […]

生产佣金任务不承认我的模型

当我运行Heroku Bamboo时,这从来都不是问题。 现在,在Cedar上,每当我尝试从服务器上的rake任务中访问我的模型时,我都会收到错误。 rake db:seed ,标准rake任务以及我自己的自定义构建任务明确包括:environment。 我甚至多余地这样做: namespace :db do desc “Update db” task :new_seed => :environment do require ‘./Scraped_Data/Games/code/column-headers.rb’ require ‘csv’ require ‘net/http’ require ‘./config/environment.rb’ # code here… end end 我在其他地方找不到任何关于这个问题的提及,所有这些任务都在开发中完美运行。 感谢您的任何见解,这里是完整的错误消息,一旦他们在Heroku上遇到我的模型,rake任务就会吐出来: rake aborted! uninitialized constant Object::Movie /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/ext/module.rb:36:in `const_missing’ /app/lib/tasks/new_seed.rake:187:in `block in load_scraped_data’ /app/vendor/bundle/ruby/1.9.1/gems/rest-open-uri-1.0.0/lib/rest-open-uri.rb:37:in `open’ /app/vendor/bundle/ruby/1.9.1/gems/rest-open-uri-1.0.0/lib/rest-open-uri.rb:37:in `open’ /app/lib/tasks/new_seed.rake:148:in `load_scraped_data’ /app/lib/tasks/new_seed.rake:550:in `block (2 levels) in […]

确认Apache Passenger部署:rails访问模型中的会话

我正在使用它来访问Model中的会话。 http://www.zorched.net/2007/05/29/making-session-data-available-to-models-in-ruby-on-rails/ 任何人都可以确认它也适用于Apache + Passenger部署吗? 或者,如果有任何其他替代方案可以实现相同的目标? 谢谢, 伊姆兰

编写一个多租户Rails 3应用程序,以便在Heroku上进行部署

我正在构建一个用于在Heroku上部署的Rails 3应用程序,我想知道是否有关于如何在我的模型中处理多租户的任何建议。 半年前,有一个相关问题( #3776593 )发布在这里,但没有得到很多答案。 我还看过Guy Naor关于使用Rails编写多租户应用程序的演讲 ,但似乎3个提议的解决方案中有2个不适用于Heroku。 我将链接到这些,但新的Stackoverflow用户限于2个超链接。 我还遇到了以下工具: http://samuel.kadolph.com/2010/12/simple-rails-multi-tenancy/ http://blog.codecrate.com/2011/03/multitenant-locking-down-your-app-and.html 只是想知道你是否有使用多租户gem或简单轨道多租户gem的经验。 似乎最简单的解决方案是简单地将belongs_to放在我需要在账户下的所有模型上,但我真的很想知道你在现实世界中使用了什么!

Rails:validationhas_many关联中parent_id的存在

我有一个项目资源,有很多任务。 我想通过将validates_presence_of :project_id添加到任务模型来确保每个任务都有一个project_id 。 但是,在使用任务创建新项目时,在记录保存之前project_id将不可用,因此我无法使用validates_presence_of :project_id 。 所以我的问题是,如何在任务模型中validationproject_id的存在? 我想确保每个任务都有父母。 … class Project :destroy accepts_nested_attributes_for :tasks, :allow_destroy => true … class Task < ActiveRecord::Base belongs_to :project validates_presence_of :project_id

缺少Rails table_name_prefix

我有以下目录结构 models/foo/setting.rb models/foo.rb foo.rb内容 module Foo def self.table_name_prefix ‘foo_’ end end 和setting.rb内容 class Foo::Setting < ActiveRecord::Base end 一旦我调用Foo::Setting.find…我收到一个错误SQLException: no such table: settings确实是正确的,因为该表名为foo_settings所以rails似乎忽略为模块Foo指定的表前缀。 我可以做什么让rails考虑前缀?

Rails has_one vs belongs_to语义

我有一个模型表示包含一些图像的Content项。 图像的数量是固定的,因为这些图像参考非常特定于内容。 例如, Content模型两次引用Image模型(轮廓图像和背景图像)。 我试图避免genericshas_many ,并坚持多个has_one的。 当前的数据库结构如下所示: contents – id:integer – integer:profile_image_id – integer:background_image_id images – integer:id – string:filename – integer:content_id 我在这里无法弄清楚如何正确设置关联。 Content模型可以包含对Image两个belongs_to引用,但是在语义上似乎不正确,因为理想情况下图像属于内容,或者换句话说,内容具有两个图像。 这是我能想到的最好的(通过打破语义): class Content belongs_to :profile_image, :class_name => ‘Image’, :foreign_key => ‘profile_image_id’ belongs_to :background_image, :class_name => ‘Image’, :foreign_key => ‘background_image_id’ end 我离开了,有更好的方法来实现这种关联吗?

counter_cache has_many_through sql optimization,减少sql查询次数

我如何优化我的SQL查询,忽略这样的情况: Meeting.find(5).users.size => SELECT COUNT(*)FROM … WHERE … User.find(123).meetings.size => SELECT COUNT(*)FROm … WHERE … 我不知道如何在这里使用counter_cache。 这是我的模型关系: class Meeting meeting_users end class User meeting_users end class Meeting_user < ActiveRecord::Base belongs_to :meeting belongs_to :user end 什么是最优解决方案? 如何在这里实现counter_cache?