问题标签 [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.
ruby-on-rails - 验证模型时出现重复的错误消息
模型验证错误消息怎么可能在 ruby on rails 应用程序中重复?
ruby-on-rails - Rails 中只有一个模型实例
我正在开发我的第一个 Rails 应用程序。它需要存储有关将出现在每个页面上的单个广告的一些信息。管理员只需要能够设置 URL、标题和图像。显然,我只需要这个广告对象的一个实例。
我创建了一个从 ActiveRecod::Base 继承的模型,但这似乎是错误的做法,因为它被配置为在数据库表中保存多个广告。
对我来说最好的方法是什么?模型和控制器应该是什么样的?
在此先感谢,阿维
ruby-on-rails - has_one 和 has_many 在同一模型中。轨道如何跟踪它们?
即使它正常工作,我也对它如何工作感到有些困惑。我有一个模型与同一个模型有两个关联。
公司有一个老板,公司有很多员工的类用户。
这是我的公司模型:
这是我的用户模型:
现在假设我有这家公司的 3 名员工,包括所有者。当我第一次创建公司时,我将所有者设置为 ID 为 1 的员工,另外两个 (2,3) 通过设置其 company_id (user.company=company) 添加到员工列表中。这三个都将他们的 company_id 设置为我们可以假设为 1 的公司 ID
当我询问 company.owner 时,我得到了正确的用户,当我询问 company.employee 时,我得到了所有三个。
如果我将所有者更改为用户 2,它会通过将其 company_id 设置为 nil 来自动从员工中删除用户 1。这很好,如果我将他添加为简单的员工,一切仍然很好。
rails 怎么知道哪个是哪个?我的意思是它如何知道员工是所有者而不仅仅是员工?架构中的任何内容都没有定义这一点。
我有一种感觉我应该扭转所有者关联并使公司属于用户。
sql - 将重新定义的 SQL 数据从旧应用程序导入新应用程序
我几乎完成了将我的 Symfony(在 mounth 中留下了一点不好的味道)应用程序重写(带有一些新功能)到 Rails 中。我需要将一些数据从旧应用程序导入到新的 Rails 应用程序中。
问题是架构发生了巨大变化,应该更新一些外键值。
我想知道是否有一些应用程序可以帮助我重新定义和导入数据,或者我应该打开 phpMyAdmin,花一些时间编辑数据库并在准备好的数据库上运行 Rails?(在我看来这不是完成这项工作的最佳方式)
ruby-on-rails - Rails has_one :通过关联
Rails 有一个has_one :through
关联,它通过第二个模型帮助建立与第三个模型的一对一关联。除了建立快捷方式关联之外,它的真正用途是什么,否则这将是一个额外的步骤。
以 Rails指南中的示例为例:
可能允许我们做类似的事情:
否则将达到:
如果它只是为了更简单的访问,那么从技术上讲,可能会有一个一对一的关联,将一个模型与某个通过 n-1 个模型的第 n 个模型连接起来,以便于访问。除了快捷方式之外,我还缺少其他什么吗?
ruby-on-rails - Ruby On Rails - 如何获取对象方法调用者
让我解释一下我的问题:
我有 2 个模型:
有一个用户实例为@user,你可以检查 is_contact? 像这样:
这很好用,我的问题是我想在 is_contact 中访问@user 的属性?联系方式。
这可能吗?
谢谢大家。
ruby - 项目-项目关系的 Rails 模型关联?
寻找有关实施此方案的最佳方法的一些指导:
我有一个项目表(产品),并希望支持交叉销售/追加销售/补充项目的能力。所以这里有一个项目到项目的关系。在这个连接表中,我需要包括键之外的其他属性,例如项目之间的 sales_relation(例如,交叉、向上、补充、替代等)。
如何设置模型关联?
html - 在 Rails 中,我应该如何为任务应用程序实现状态字段 - 整数或枚举?
对于 Rails 3.0 Todo 应用程序,我有一个带有Status字段的 Tasks 模型。存储状态字段数据(字段类型)并仍然在视图(HTML 表)中显示人类可读版本的最佳方式是什么?状态可以是:
0 = 正常
1 = 活动
2 = 完成
现在我有这个:
Rails 架构在这里:
create_table "tasks", :force => true do |t|
t.integer "状态", :limit => 1, :default => 0, :null => false
Rails 模型在这里:
导轨在这里查看:
要求
将任务的状态存储在数据库中,以便值易于本地化,即我不确定是否要将“正常”、“活动”、“完成”存储为字符串字段。
解决方案必须适用于 Rails 3.0。
问题:
我应该将该字段存储为整数(见上文)吗?如果是这样,我如何在我的 Rails 视图中的 HTML 表格中显示正确的人类可读状态,例如在 HTML 表格中显示“活动”而不是“1”。
我应该使用枚举吗?如果是这样,这以后容易本地化吗?
我应该使用直字符串,例如“Normal”、“Active”、“Completed”
你能提供一个视图助手、控制器或视图代码的快速代码示例来完成这项工作吗?
ruby-on-rails - 为什么我的模型在错误的时间触发验证?
在我的edit
行动中,我employees_controller
有这行代码:
Address
如果没有,它应该添加一个空白,这样它将显示在我的编辑 erb 文件中。这样,如果没有与该员工关联的地址,他们将在编辑此记录时强制添加一个。
有一个像这样的多态关联:Person <- User <- Employee
并且与Person
具有多对多关系Address
。该声明如下所示:
代码在第 70 行失败employees_controller.rb
:
注意它的调用方式save
?为什么要这样做?
ruby-on-rails - 如何在 ruby 模型中设置默认属性
我有一个模型User
,当我创建一个模型时,我想务实地设置一些 API 密钥,而不是什么,特别是:
@user.apikey = Digest::MD5.hexdigest(BCrypt::Password.create("jibberish").to_s)
我希望能够运行User.create!(:email=>"something@test.com")
并让它创建一个具有随机生成的 API 密钥和秘密的用户。
我目前正在控制器中执行此操作,但是当我尝试将默认用户添加到seeds.rb
文件时,我收到 SQL 错误(说我的 apikey 为空)。
我尝试覆盖save
定义,但是当我更新模型时这似乎会导致问题,因为它会覆盖这些值。我尝试覆盖initialize
定义,但那是返回 anil:NilClass
并破坏事物。
有一个更好的方法吗?