问题标签 [rails-models]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
155 浏览

ruby-on-rails - rails 在不同视图中的使用计数

你好,我这将是一个非常菜鸟的问题.. 但是..

我有一个叫做 list 的脚手架,它有 _many :wishes。有了模型中的这些信息,我可以在列表视图中使用此代码

好吧,现在我已经制作了一个名为 statusboard 的控制器。我有 3 个功能。或者怎么说。但它是索引,登录,注销 .. 和 .. 登录和文件 #app/ views/statusboard/loggedin.html.erb 我想显示这个..

你好,{Username},您已经创建了 {count 个列表} 个列表,并有 {count 个愿望} 个愿望

这是我想我应该写在我的文件中..

你好,{用户名},你已经创建了 <%=h @user.list.count %> 个列表,并且 <%=h @user.wishes.count %> 个愿望

我的列表模型是这样的 =

类列表 < ActiveRecord::Base

  attr_accessible :user_id, :name, :description

  属于_to:用户

  has_many :愿望

结尾

我的愿望模型是这样的=

类愿望 < ActiveRecord::Base

  attr_accessible :list_id, :name, :price, :link, :rating, :comment

  属于_to:列表

结尾

最后我的用户模型是这样的=

类用户 < ActiveRecord::Base

  # 包括默认设计模块。其他可用的有:

  # :token_authenticable, :lockable 和 :timeoutable

  设计 :database_authenticable, :registerable,# :confirmable,

             :recoverable, :rememberable, :trackable, :validatable

  # 为您的模型设置可访问(或受保护)的属性

  attr_accessible :email, :password, :password_confirmation

  has_many :列表

结尾

我希望有一个人可以帮助我 :-)!/ 奥鲁夫尼尔森

0 投票
1 回答
524 浏览

ruby-on-rails - Rails - 调试嵌套路由

我有 2 个模型,评估和问题。评估有很多问题。

在路线中,我有:

我检查了 rake 路线,正如预期的那样

在创建新问题的表单上,我收到以下错误:

如果我取出表单,则视图加载正常,因此我认为此视图中的代码与此有关-我在 form_for 行上收到错误:

耙路线 - http://pastebin.com/6fKUPTjq

质疑控制器的代码 - http://pastebin.com/URzpmEcg

评估控制器的代码 - http://pastebin.com/HstvFTq4

谁能帮我调试一下?谢谢!

0 投票
2 回答
6546 浏览

ruby-on-rails - 在 Ruby on Rails 中,如果我们生成了一个模型“Animal”,现在想要有“Dog”,我们应该怎么做呢?

比如说,如果我们生成了一个模型

现在我们想创建其他模型来继承它(例如Dog和Cat),我们应该rails generate model再次使用还是自己添加文件?如果我们使用,我们如何指定 Dog 应该从 Animal 继承rails generate model

我认为如果我们使用rails generate model而不是自己添加模型文件,也会为我们创建单元测试文件和夹具文件。还添加了一个迁移文件,除非是使用 MongoDB,否则不会有迁移文件。

0 投票
2 回答
418 浏览

ruby-on-rails - Belongs_to 基于字段的值

我有一个条目表,每个条目可以有不同的帐户类型。我正在尝试根据的值定义并返回帐户cindof

每种帐户类型都有一个表,account_site并且account_page. 所以常客是belongs_to不行的。

那么有没有办法返回类似的东西:

也尝试过用一种方法来做到这一点,但没有运气。真的希望只有一个account而不是不同的belongs_to名字。任何人都可以弄清楚我想要什么?很难用英语解释。

泰尔

0 投票
1 回答
286 浏览

ruby-on-rails - 如何在我的创建操作中将 2 个模型关联到另一个模型

我有 3 个具有以下关联的模型。一个模型 Question 属于一个特定的用户并且有很多答案,一个 Answer 模型既属于一个用户又属于一个问题。因此,用户模型有许多问题和答案。我的答案模型具有字段 User_id 和 question_id ,它们标识答案发布到的问题的所有者以及创建或拥有该问题的人。那么如何将用户和问题 ID 分配给我的创建操作的答案,以及我的视图中用于发布答案的链接的结构是什么。另一个问题是,这是最好的方法吗?我的目标是在用户仪表板上显示用户的问题和答案,这样如果用户查看问题,他可以看到该问题的答案,反之亦然。

0 投票
1 回答
640 浏览

ruby-on-rails - 如何在 Rails 中为乒乓球比赛建模

我正在尝试在 Rails 中模拟乒乓球比赛。这是我所拥有的:

游戏模型:
team_1_score
team_2_score
team_1_id
team_2_id

团队型号:
game_id
player_id

播放器型号:
姓名

因此,每场比赛将由 2 支球队组成(每支球队有 1 名或 2 名球员)。
然后我打算用has_many将游戏与玩家联系起来,:through。我认为这不会起作用,因为每场比赛都有 2 个团队实例。但我真的不知道我应该从这里去哪里。任何帮助将不胜感激。

0 投票
1 回答
615 浏览

ruby-on-rails - Rails3:有没有办法用查询返回的附加列(计算/聚合)初始化模型?

情况

所以这是我的情况的简化版本:

我有一个付款模式。它具有以下属性:

  • 支付金额
  • 付款日期

我有一个交易模型。它具有以下属性:

  • 交易说明
  • 交易金额
  • 付款编号

笔记:

  • 一次支付可以应用于多个交易(即一次支付has_many交易)。
  • 可以通过将属于付款的每笔交易的交易金额相加来计算付款的余额。

我目前正在使用 SQL join、group 和 sum 聚合函数计算剩余余额。我在我的付款模型中添加了一个范围来执行此操作:

此处要注意的重要一点是remaining_balance此查询返回的附加列,其计算方式如下:(payments.payment_amount - sum(transactions.transaction_amount) as remaining_balance.

问题

使用这个范围,支付模型被实例化/初始化,所有属性都映射到实际的数据库列。但是,我也希望它们被初始化为remaining_balance. 这可能吗?

我以为我可以为此列定义一个访问器,但它不起作用。

0 投票
1 回答
2733 浏览

ruby-on-rails - 按条件更新记录 Ruby on Rails

我们可以在不先检查记录的情况下按条件更新记录吗?

0 投票
2 回答
374 浏览

ruby-on-rails - 使用“故意”无效数据验证模型

我正在使用的数据源很糟糕。有些地方你会期望整数,你会得到“三”。在电话号码字段中,您可能会得到“电话号码是 xxx”。有些字段只是空白。

没关系,因为我正在解析每个字段,所以“三”将在我的模型中以整数 3 结束,电话号码(等)将通过正则表达式提取。该服务的用户知道数据是粗略的和不完整的,因为这是我们的数据源维护方式的不幸事实,我们无能为力,只能加强我们的解析游戏!顺便说一句,随着我们解析越来越多的原始数据,我们正在缓慢地生成我们自己的数据版本,但这个糟糕的来源现在必须做。

所以用户选择他们想要解析的数据,然后我们尽我们所能,返回一个部分/不正确的模型。现在应该验证我们要存储的最终模型 - 某些字段不能为空,某些字符串必须遵守格式等等。

该应用程序的流程是:

  1. 用户告诉服务要解析哪些数据。
  2. 服务启动并抓取数据,解析它可以解析的内容并返回一个包含它可以检索到的任何数据的部分模型。
  3. 我们向用户显示数据,允许他们进行更正并填写未收集数据的任何必填字段。
  4. 该用户更正的数据将被保存并因此得到验证。
  5. 如果验证失败,请再次显示数据以供用户修复、冲洗并重复。

让模型开始可能完全无效或不包含数据但最终需要验证的最佳方法是什么?我想到(并部分实施)的两种方法是:

  1. 2 个模型 - 一个具有验证等的数据模型和一个没有验证的 UnconfirmedData 模型。原始数据被放入 UnconfirmedData 模型,直到用户进行更正,此时将其放入 Data 模型并尝试验证。
  2. 一种带有“已确认数据”标志的模型,其验证是手动执行的,而不是 Rails 的验证。

在实践中,我倾向于使用 2 种模型,但我对 Rails 还很陌生,所以我认为我有更好的方法来做到这一点,Rails 有这样让我惊讶的习惯 :)

0 投票
3 回答
3251 浏览

ruby-on-rails - 嵌套 has_many :through in rails 3

我知道 Rails 不支持嵌套的 has_many :through 关系,尽管早在 Rails 2 以来就有关于补丁的讨论和公开票。

我确实遇到了一个非常漂亮的插件,但是主分支不能与 Rails 3 一起使用,我很犹豫是否将它用于应用程序中的关键任务任务,因此缺乏积极的近期开发。那么——处理这些关系的最佳方式是什么。

因此,通过将其添加到 Author 模型中,能够获得订单将是一件很棒的事情:

但是很可惜,你不能——至少没有插件。所以,我的问题是,当连接模型之间的唯一关联是合同时,访问所有作者订单的最佳方法是什么?