Tag: 模型

从Rails插件向Rails引擎模型添加方法

我正在编写一个Rails插件来扩展Rails引擎。 即MyPlugin将MyEngine作为依赖项。 在我的Rails引擎上,我有一个MyEngine::Foo模型。 我想为这个模型添加新方法,所以我在我的插件app/models/my_engine/foo.rb创建了一个文件,其中包含以下代码: module MyEngine class Foo def sayhi puts “hi” end end end 如果我在插件虚拟应用程序上进入Rails控制台,我可以找到MyEngine::Foo ,但运行MyEngine::Foo.new.sayhi返回 NoMethodError:未定义的方法`sayhi’ 为什么MyPlugin无法看到MyEngine::Foo模型的更新? 我哪里错了?

为什么某些模型属性没有保存在db中?

我的rails应用程序中有一个引用模型,它有各种attr类型,其中一些是由db发送/保存的,有些不是,我无法理解为什么。 请你帮我理解,谢谢。 quotes_controller.rb class QuotesController < ApplicationController def create @quote = Quote.new(quote_params) if @quote.save redirect_to root_url, notice: 'Quote request created' else render :new end end private def quote_params params.require(:quote).permit(:gla, :prev_cover, :co_name, :postcode, :industry, :lives_overseas, :scheme_start_date, :payment_frequency, :commision_level) end end quote.rb模型 class Quote < ApplicationRecord validates :gla, presence: { message: "Must be selected" } enum industry: […]

仅当virt_attribute为false时才validation字段

我有这样的模特: class Order {:message => I18n.t(:city_not_chosen)} validates :zip, :presence => {:message => I18n.t(:zip_not_chosen)} validates :street, :presence => {:message => I18n.t(:street__not_chosen)} validates :building, :presence => {:message => I18n.t(:building_not_chosen)} validates :phone_number, :presence => {:message => I18n.t(:phone_number_not_chosen)} validates :receiver, :presence => {:message => I18n.t(:receiver_not_chosen)} end 正如你所看到的,我在模型中设置了一些非db字段(use_user_data) – 虚拟属性… 但是怎么做,如果:use_user_data是假的,好的和正确的validation,但是当真的没有validation? 我试试这样: validates :city, :presence => {:message => I18n.t(:city_not_chosen)}, :unless […]

档案模型关联问题

使用与User模型的has_one / belongs_to关联创建自己的模型是个好主意,还是配置文件的属性只是用户数据库中的列?

在每个“每个do”循环中在Rails中进行基本数学并得到总和

Rails新手! 我有与广告系列相关的产品。 每个@product都有一个.price和.orders_count。 我想要做的是将每个@product的.price与.orders_count相乘,并将它们全部加起来以获得@campaign的总成本。 作为Rails的新手,不知道如何编写语法并在视图中有以下内容。 这是第一件作品,但最后并未全部添加。 谢谢您的帮助!

与同一模型的多重关系

我有两个模型’资产’和’用户’。’资产’可以分配给一个’用户’而’资产’是由一个’用户’创建的。其中有模型类的详细信息 class Asset ‘User’ belongs_to :creator ,:class_name=>’User’ end 和 class User < ActiveRecord::Base has_many :assets end 现在在资产show.html.erb我可以访问创建者的名字 @asset.creator.name 但我看不到’assigned_to’的名字 @asset.assigned_to.name #gives nothing 这两个值都成功保存在数据库中。问题是什么?

button_to没有从params hash传递正确的id

button_to未将正确的id传递给line_item。 在下面的日志中,您会看到bike_id从正确的’86’变为不正确的’1’(巧合的是我的user_id)。 任何帮助,将不胜感激。 下面是我的development.log中的错误,然后是我的视图和控制器中的代码。 谢谢。 development.log Started POST “/line_items?bike_id=86” for 127.0.0.1 at 2011-08-01 18:09:52 -0400 DEPRECATION WARNING: Setting filter_parameter_logging in ActionController is deprecated and has no longer effect, please set ‘config.filter_parameters’ in config/application.rb instead. (called from at /Users/willdennis/rails_projects/spinlister/app/controllers/application_controller.rb:8) Processing by LineItemsController#create as HTML Parameters: {“authenticity_token”=>”5GYQqvf7U5awhLrZ9Aw910ETf2kqOk3PI315jkjEfMU=”, “bike_id”=>”86”} [1m[35mCart Load (0.6ms)[0m SELECT “carts”.* FROM “carts” WHERE (“carts”.”id” […]

XML序列化在Rails模型的datetime字段中不包括毫秒

默认情况下,正在转换数据库中的datetime字段并删除毫秒: some_datetime =>“2009-11-11T02:19:36Z” attribute_before_type_cast(’some_datetime’)=>“2009-11-11 02:19:36.145” 如果我尝试覆盖此属性的访问器,如: def some_datetime attribute_before_type_cast(‘some_datetime’) end 当我为该模型尝试“to_xml”时,我收到以下错误: NoMethodError(未定义的方法`xmlschema’代表“2009-11-11 02:19:36.145”:String): 我试图将String解析为Time对象但是不能得到一个包含毫秒; def some_datetime Time.parse(attribute_before_type_cast(‘some_datetime’).sub(/\s/,”T”).sub(/$/,”Z”)) end 任何人都可以帮助获得由to_xml呈现毫秒的日期时间吗?

在Rails中建模游戏匹配的好方法?

我正在尝试在Rails中建立一种匹配类型的模型。 比赛需要跟踪以下内容: 两位球员 获胜者,冠军 没有分数或类似的东西。 我可以看到这样做与玩家有3个独立的has_one关系,但这对我来说似乎很骇人听闻。 有没有更好的方法来解决这个问题?

Rails – 可扩展的计算模型

我目前在我的rails应用程序中有一个计算结构,它具有模型metric , operand和operation_type 。 目前, metric模型具有许多operands ,并且可以基于operation_type (例如,sum,multiply等)执行计算,并且每个operand被定义为向右或向左(即,如果操作是除法,则分子和可以确定分母)。 目前,操作数始终是某个模型的属性,例如@customer.sales.selling_price.sum 。 为了使这种可伸缩性,需要允许操作数是某种属性,或者是先前操作的结果,即操作数可以是度量。 我已经包含了我的模型当前外观的图表: 任何人都可以帮助我以最优雅的方式允许操作数成为实际操作数或其他指标吗? 谢谢! 编辑:似乎基于迄今为止唯一的答案,也许多态关联是这样做的方式,但答案是如此简短我不知道如何以这种方式使用它们 – 任何人都可以详细说明吗? 编辑2:好的,我想我已经到了某个地方 – 基本上我目前有一个度量标准,其中包含多个操作数,以及一个操作数has_many指标。 我需要一个多态自联接,其中度量也可以有许多度量 – 我是否需要将其称为其他东西,也许是calculate_metrics,以便度量模型可以自己使用? 这将使我的情况是指标具有多个操作数,而指标具有许多calculated_metrics。 编辑3:我已经更新了我的模型如下,并且对于这是否是解决问题的好方法有任何批评。 您将注意到我添加了一个名为calculated_metric的模型,该模型本质上是其他度量的持有者 – 即可以使用两个操作数或操作数和calculated_metric的组合来计算度量。 编辑4:Bounty为任何可以向我展示详细的轨道方式的人添加了。 编辑5:赏金仍在争夺中; 虽然下面提供的答案是详细的,但我正在寻找最好的方法,而不是替代方法来处理这个问题(即请让我知道解决问题的最佳方法,而不是寻找方法来回避它,因为我需要这个function)。 谢谢! 编辑6:对此没有太多关注 – 是否会增加赏金帮助,或者这个问题不是跑步者?