问题标签 [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 投票
4 回答
141 浏览

ruby-on-rails - rails 找不到属性

我有这个模型

rails c

什么时候token: "4e73",但是当我尝试

我明白[]了,为什么?

更多信息

0 投票
1 回答
2494 浏览

ruby-on-rails - Rails 3 嵌套模型表单

我在使用 Rails 3.1rc4 的表单中遇到了一些嵌套模型的问题。

我目前有看起来像这样的模型:

我显然已经稍微截断了这些,但所有重要信息都在那里。

我正在尝试设置一个销售表格,该表格还允许我创建一个新客户,因此accepts_nested_attributes_for :customer是销售模型中的行。

我的表单视图看起来像(再次被截断,只有重要部分):

我遇到的问题是,在呈现表单时,文本字段和 :first_name 的标签都没有显示 - 没有错误消息,只是没有出现。

@sale.customer.build我应该提一下,我在控制器的方法中尝试了有无new,但似乎没有效果。

谢谢!

谁能建议我做错了什么?

编辑:为免生疑问,我的销售控制器的新方法如下所示:

0 投票
1 回答
392 浏览

ruby-on-rails-3 - 交叉模型范围 - rails 3

我想为所有没有评论的帖子创建一个范围......我不明白如何在模型中(通过创建一个范围)检查我的帖子是否附有任何评论,因为只有评论似乎知道什么他们属于的帖子,而不是知道评论属于它的帖子。

(如果我错了,请阻止我。)

0 投票
1 回答
559 浏览

ruby-on-rails - Rails 3嵌套模型表单:无法批量分配受保护的属性

我目前有一个使用嵌套模型设置的表单 - 到目前为止一切都按计划进行。该表单允许我创建销售,然后我可以创建客户和车辆(单独的模型)。

当我尝试创建一个注册号时出现问题,这是一个与车辆嵌套的单独模型;本质上,我可以在表单上显示一个文本框,但是尝试创建注册号会导致can not mass assign protected attribute :registration_number控制台出现错误,并且在编辑包含带有注册号的车辆的销售时,文本框为空。

涉及的模型有:

有问题的表格是:

任何帮助将不胜感激 - 谢谢!

0 投票
1 回答
168 浏览

ruby-on-rails-3 - Rails 如何为新模型/记录提供 ID?

activerecord 如何为新创建的记录分配 ID?ID 值似乎无处不在。有时它们是连续的,但有时它们似乎是某种散列。有没有办法控制行为?

0 投票
1 回答
325 浏览

ruby-on-rails - Rails 3:在父母的节目之一上创建子对象时更新多个父母

我是 Rails 新手,现在正在努力学习,希望有人能提供帮助。

我有 3 个用于用户、意见和投票的模型,具有一对多的关系。每个user has_many :opinionshas_many :votes。每个opinion has_many :votesbelongs_to :user。每个vote belongs_to userbelongs_to opinion。Votes 表包含 :decision (boolean)、:opinion_id 和 :user_id 列。意见表只有 :content 列。

我的用例是用户添加意见,然后其他用户在查看每个意见(显示视图)时可以同意或不同意它。

在意见显示视图中,我希望有两个带有“同意”和“不同意”的提交按钮。当用户提交投票时,我需要创建此投票(真或假)并更新投票表的 user_id 和 opinion_id 字段。我设法为每个父母单独做这件事,但不是为了同一张票。任何帮助将非常感激。

0 投票
1 回答
2482 浏览

ruby-on-rails - Ruby on Rails - 在用户单击创建操作时将字符串保存到数据库

很晚了,我可能应该睡在这个上面。简单的一个

我在用户填写的表单中有 3 个字段。一旦他们单击创建按钮,这些记录就会保存到数据库中。简单的。

但是我希望同时将这三个字段的数据连接在一起,没什么特别的......并与其他记录同时插入到数据库中。这应该在他们创建后反映在显示页面上的用户。

所以我需要一个动作来连接 3 个 db 列,比如说列名是名字、姓氏和出生日期。表名 PeopleDetails

我曾尝试使用内置于模型中的 after_create、before_save 构建模型,但 nada。建议。我想我会在睡觉后回来重温这个

0 投票
1 回答
161 浏览

database - Rails - 大表与分布式表

我对 Rails 比较陌生。

我通过设计有一个用户模型。我想知道将用户需要的所有其他字段放在单独的 Profile 模型中是否更有效。

我遇到了类似的情况,我正在考虑创建一个新模型并使用与该模型的 has_one 关联,但是如果我在 User 模型中拥有属于用户的所有属性,它似乎会更清晰。你如何处理这种情况?它会对应用程序性能产生什么影响?

有人可以详细说明创建 has_one 关系的优缺点,尤其是在性能方面。

0 投票
1 回答
1813 浏览

ruby-on-rails - Ruby on Rails:如何为“用户最喜欢的模型”建模

我将使用 StackOverflow 作为我的示例。假设我有一个Question模型。已登录的用户可以“加星标”以Question将其标记为他们的最爱之一。在数据库中,这种东西可能会存储在一个UserQuestions带有user_id字段和question_id字段的表中。这种功能不是典型的 CRUD,因为实际上只有“列表”、“添加”和“删除”。此外,“用户已加星标的问题”列表中显示的记录不应是UserQuestion记录,而是Question记录。我在控制器和UserQuestion模型中放入什么代码?

0 投票
6 回答
11957 浏览

ruby-on-rails - 两个 Rails 应用程序之间的共享模型 - Workflow 的理想解决方案是什么?

我目前正在研究一个分为四个部分的 Rails 3 项目:

  • 面向公众的网站
  • 管理网站/后端
  • 模型
  • 第三方数据访问 API

由于模型在三个关键组件之间共享,我想让它们远离一个主要项目,但是每个部分都需要访问模型,但我不想重复代码并且到处都有不同的版本。

目前我在 gem 中有模型代码,在每个项目的 Gemfile 中,我使用以下行引用它们:

但是,当我部署到我们的测试服务器以供我的同事评估系统时,我需要从外部存储库中提取模型,因此我将上述行替换为以下内容:

这本身运作良好,但在“版本”方面非常笨拙(即,每次我希望将更改部署到测试服务器时,我都需要修改版本),切换线路以使用 git 而不是本地,并确保我正确推送文件。

以前我使用共享的 git 子模块,但这同样尴尬。

我宁愿不将所有东西都构建到一个大型项目中,因为这些往往会变得异常庞大且难以维护,而且我还想尽可能分离关注点,因此我对管理站点所做的任何更改都没有太大的意义影响其他组件的机会 - 显然模型有可能导致问题,但这是我考虑并理解的风险。

当涉及到这样的事情时,人们会提出什么建议?或者,我是不是完全走错了路?

一些额外的背景:

这个应用程序是对现有网站的重写,它遵循“将所有内容集中到一个项目中”的模型 - 不幸的是,这里有两个问题:

  1. 该应用程序开发得很糟糕 - 我继承了这个项目,当我第一次拿起它时,单个用户每页的加载时间约为 2 分钟 - 这已经减少了,但始终存在问题
  2. 我们目前处于当前站点的容量限制,我们预计未来 6 个月我们将需要承担更多负载 - 但是使用“一体式”应用程序进行横向扩展意味着我们将浪费资源进行横向扩展不需要它的站点的后端。

基本上有两件事我想分开 - 前端(作为公共网站和 API)和后端 - 我所知道的关于软件开发的一切都告诉我,将所有这些结合在一起并不是一个理想的解决方案(过去的历史表明我认为将这两者分开是确保前端性能的好举措)。

也许我需要从另一个角度看待这个问题——将模型保留在每个项目中,而不是在项目之间共享它们,而是为每个功能区域提供一个缩减的功能子集(即后端需要知道谁创建了一个帖子,但是前端并不真正关心这一点,因此在读取模型时省略该逻辑)。