Tag: 模型

您如何使用自引用和类别对联系人列表进行建模?

摔跤我的头脑模型跟随 用户有很多联系人类别(家人/朋友) 一个联系人类别有很多联系人 一个联系人可以是一个或多个联系人类别。 我最终会跟随,但我仍然相信,必须有更好的解决方案。 class User < ActiveRecord::Base has_many :contact_groups def get_all_contacts self.contact_groups.each do |group| contacts << group.users end end class ContactGroup < ActiveRecord::Base has_and_belongs_to_many :users end

如何在Rails 3中总结记录?

我有一个ItemsSold模型,它有一天销售的杂志,书籍,video,greeting_cards,笔的总数。 如何优雅地返回一个数组,其中包含最后一个任意周数的每个项目的每周销售总数? 我有一个模型文件: #items_sold.rb class ItemsSold < ActiveRecord::Base attr_accessible :magazines, :books, :videos, :greeting_cards, :pens, :sold_date end 我的表定义如下: t.integer :magazines t.integer :books t.integer :videos t.integer :greeting_cards t.integer :pens t.datetime :sold_date 此外,是否有可能返回去年的月度总数?

我应该将自定义方法从控制器移动到模型吗?

假设我有一个Product model和ProductsController。 控制器具有所有标准的CRUD方法,产品可以进行各种validation等。 这是一个问题。 我有几个自定义非常复杂的动作,也需要以多种格式(json,html,xml,csv,pdf等)进行响应。 业务逻辑原因超出了问题的范围。 让我们这样做是必须的。 我也使用了InheritedResources gem,但我不认为这个问题很重要。 例如(这是一个模拟应用程序,它非常简化 – 我删除了各种if else语句和循环和本地化等): class ProductController 5 @po = LegacyOrder.create_po if @po if @order.save format.html{ render :check_stock_using_legacy_identifier_and_create_a_unique_po_number_and_place_an_order, flash: {success: “Wow! Input was good!”}} format.json{ render status: 400, json: {status: :success, message: “Order created”}} else format.html{ render :check_stock_using_legacy_identifier_and_create_a_unique_po_number_and_place_an_order, flash: {error: “Can’t create order, some validations failed”}} format.json{ […]

Rails模型attr_accessor属性不保存?

这是我正在使用的结构: 应用程序/模型/ model.rb class Model < ActiveRecord::Base attr_accessor :some_var end 应用程序/模型/ model_controller.rb class ModelsController < ApplicationController def show @model = Model.find(params[:id]) @other_var if @model.some_var.nil? @model.some_var = "some value" @other_var = "some value" else @other_var = @model.some_var end end end 每当我运行此代码(例如show方法)时,if子句被评估为true(例如@ model.some_var == nil)。 我该如何解决这个问题? 我对attr_accessor的工作方式有什么不妥吗?

Rails为具有多对多关系的模型创建表单

我有两个模型, Recipe和Tag ,具有has_and_belongs_to_many关系。 对于这种关系,我有一个简单的连接表, RecipesTags 。 食谱: has_and_belongs_to_many :tags 标签: has_and_belongs_to_many :recipes 现在,在创建新配方时,用户可以以复选框的forms填写配方所属的类别,例如“肉”,“鱼”等。 这些类别实际上只是数据库中的标签。 问题:食谱没有保存任何标签。 配方new并create控制器方法: def new @recipe = Recipe.new @ingredients = Ingredient.all @tags = Tag.all respond_to do |format| format.html # new.html.erb format.json { render json: @recipe } end end # POST /recipes # POST /recipes.json def create @recipe = Recipe.new(params[:recipe]) if (params[:tags]) @recipe.tags […]

在rails应用程序中启用2个不同的模型可以与同一个表进行通信

我有一些集成问题。 我有2个需要映射的模型,以便它们能够与同一个表进行通信。 因此,一个模型具有一些属性,这些属性映射到表中的相应列,同样映射到另一个模型。 我听说过别名,这是一种可以使用的技术。 帮助将不胜感激。 谢谢 !

Rails3,S3,Paperclip附件是它自己的型号吗?

所以,我正在开发一个应用程序,用户可以上传和管理照片,并附带一堆行业特定的元数据。 Photo模型中包含所有这些元数据,我正在使用Paperclip将实际图像文件附加到模型并将图像存储在Amazon S3上。 用户交互目前的工作方式如下: 用户单击“添加照片”并进入“新照片”页面,在该页面中,他将看到一个表单。 表单上的第一件事是文件选择器。 用户选择文件。 在此之下是用户填写的几个不同的元数据字段,因此用户填写这些元数据。 用户点击提交,文件上传并创建新的Photo对象,用户被重定向到不同的页面。 因此,我想做的明显改进是让照片在此过程开始时实际上传,以便在提交提交和重定向到下一页之间没有明显的延迟。 能够在完成上传后向用户显示他们的照片的缩略图预览也是很好的,这样他们就可以在填写表格时看到他们放入元数据的照片。 我认为如果我将图像文件拆分成自己的模型,我可以做到这一点,但我会指的是这样的图像: @photo.attachment.file.url而不是我现在使用的更简单的@photo.file.url 。 我宁愿不比我更深入地“筑巢”。 此外,将其分为两个模型会引发管理孤儿的问题,我目前无需处理这些问题。 所以我的问题是: 是否有一种好方法 – 最好不使用Flash – 来创建这种异步上传行为而不分成两个模型,或者 – 如果我必须将元数据和文件拆分为两个模型,是否有办法让Paperclip将附件视为自己的模型,以便我可以使用.而不是.来访问它.. ? 我知道这是一个很大的问题,所以非常感谢您的帮助!

Rails 4模型子文件夹

我在app / models / request / book文件夹中创建了模型,但Book :: Request :: Status.table_name返回表名“statuses”(“book_request_statuses” – 是正确的表名)。 我怎么能得到正确的表名? 模特位置 模型/ 书/ 请求/ status.rb 模型/书/请求/ status.rb class Book::Request::Status < ActiveRecord::Base … end 配置/ application.rb中 config.autoload_paths += Dir[Rails.root.join(‘app’, ‘models’, ‘**’, ‘*.rb’)] 如果我设置self.table_name =“book_request_statuses”,那么模型将正常工作(在模型中),但这不是很好的方式:)。 抱歉我的英语不好

has_many的源reflection错误:通过

我正在尝试创建一个系统,我的网站的用户可以在其中collections页面。 这些页面有两种类型,俱乐部或体育。 所以,我有四个模型,相关联: 用户模型: class User :favorites has_many :clubs, :through => :favorites .. end collections夹型号: class Favorite true end 俱乐部型号: class Club :favoritable has_many :users, :through => :favorites def to_param slug end end 运动模型: class Sport :favoritable has_many :users, :through => :favorites .. end 从本质上讲,用户可以通过collections夹进行体育或俱乐部,而collections,体育和俱乐部之间的关联是多态的。 在实践中,这一切都按照我想要的方式工作,并且我设计的整个系统都有效。 但是,我在我的网站上使用Rails_Admin,我在三个地方收到错误: 第一次加载仪表板(/ admin)时。 如果我刷新页面,它工作正常。 在Rails_Admin中加载用户模型时 在Rails_Admin中加载collections夹模型时 这是/admin/user (gist)上的错误消息。 所有错误都是类似的,引用ActiveRecord::Reflection::ThroughReflection#foreign_key […]

Rails 3:如何在视图中显示多对多连接?

在我看来,我试图为每次“旅行”显示所有“腿”。 理想情况下,它们看起来像这样: -Trip1.name – Leg1.name – Leg2.name – Leg3.name -Trip2.name – Leg4.name – Leg5.name – Leg6.name 这些模型是多对多的。 我有三张桌腿,Trips和Legs_trips。 模型看起来像这样: Trip.rb class Trip :all_blank end Leg.rb class Leg < ActiveRecord::Base has_and_belongs_to_many :trips validates_uniqueness_of :name accepts_nested_attributes_for :trips end 目前控制器中只有这个: def index @trips = Trip.all @legs = Leg.all respond_to do |format| format.html # index.html.erb format.json { render json: […]