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

ruby-on-rails - Rails 模型参考问题

我认为代码清除了一切,我需要将 result_home 引用到一个氏族,将 result_away 引用到另一个氏族。最好的方法是什么?我可以创建 has_and_belongs_to_many 但我认为在这种情况下这不是好方法。

0 投票
1 回答
1764 浏览

ruby-on-rails - db中状态列中的Rails,字符串或整数值

我有一个具有状态属性的事件模型,并且想知道是否应该将其设置为字符串或整数字段。该事件可以具有三种不同的状态,“聚集”、“活动”或“关闭”。如果我应该使用整数解决方案,我是否应该在某个地方定义一个常量,以便可以只使用“2”的 CLOSED (我应该把这个常量放在哪里??)

提前致谢!

0 投票
4 回答
329 浏览

ruby-on-rails - 为什么这个标签链接没有链接到正确的模型?

所以在拉了我的头发一个小时后,我决定在这里发布这个。我收到此错误:

user_path(article.user) %>

当我尝试链接到文章的创作用户时。我的路线文件:

我的文章模型文件中有一个 belongs_to :user ,我的用户模型文件中有一个 has_many :articles 。我正在使用此链接链接到文章中作者的个人资料。

请帮忙!我正在使用 can can 进行权限管理并设计用于身份验证,但是它在文章的显示操作中引发了错误,因此我没有发布该代码。让我知道我是否应该这样做。谢谢!

@雅各布

我犯了同样的错误:

文章中的 NoMethodError#show

显示 /home/leon/sites/VIS/app/views/articles/_article.html.erb 其中第 3 行提出:

#<#:0x7fdd82217a98> 的未定义方法 `user_path' 提取的源代码(在第 3 行附近):

1: 2: 作者
3: <%= link_to "#{@article.user.penname}'s profile", article.user %> 4: 以前的版本 5: 版本 7

6: <%= image_tag "add-to-favorites.png", :class => "favorites-button" %>

我的路线的相关部分:

啊哈!它没有用户#show的路线,但我不知道为什么,因为我有:

在我的应用程序/控制器文件夹中。我是否需要将我的用户控制器移动到 app/controllers/devise 并用设计而不是应用程序控制器重载它?

0 投票
1 回答
231 浏览

ruby-on-rails - 如何从另一个控制器编辑一个模型?

我有 2 个模型,用户和组。用户 has_one 组和组 has_many 用户。

我有一个管理员角色,并且我的 can can 能力类中有一个组管理员角色,我希望能够从组中删除用户。

在控制器的显示成员视图中,如果查看者是管理员或组管理员,我有一个 if 语句,它在列表中的用户旁边添加一个删除按钮。

我得到的错误是:

0 投票
2 回答
551 浏览

ruby-on-rails - 如何防止修改模型?

在当前的项目中,我有一个名为的模型Box,用于存储来自在线商店的商品。一个盒子属于一个Package(它定义了价格、付款条件等),并且有许多Item对象ExtraItem,其中包含包含在盒子中的产品和额外优惠。
当客户用产品和额外优惠填充一个盒子并继续结帐时,Purchase会创建一个新的类对象,并引用Box包含其项目的 。

APurchase有一个名为total的属性,它从包含项目的盒子中获取总货币价值(在 before_validation 挂钩上),并且即使产品价格发生变化,也会记录支付的总金额。我担心的是,即使在确认并创建了购买后,属于它的盒子仍然可以更改(可以添加/删除项目),创建的记录不能反映购买时的实际情况。

为了防止对 box 进行更改,我创建了一个挂钩 after_initialize 和 initialize 方法的方法,以防止在锁定属性设置为true时调用特定的属性更改方法。它的工作原理如下:

它基本上冻结了关联(一个盒子有很多itemsextraitemsgarrisons)并重新定义某些方法以在调用时引发 LockedBoxError 异常。

由于这似乎按预期工作,我真的担心这种方法会导致意外行为,我正在寻找一种方法来实现相同的效果,而无需像我正在做的那样覆盖方法!

你们知道我有什么办法可以做到这一点吗?我真的很感谢你的帮助!:)

0 投票
2 回答
185 浏览

ruby-on-rails - rails3 模型问题

我从 php 迁移到 rails3,我仍然认为这是一个不错的决定!无论如何,我有一些模型:

用户型号:

问题模型:

答案模型:

投票模型:

现在我的问题是,一旦用户对答案进行了投票,就应该关闭对该用户和该特定问题的投票...

我在我的项目的其余部分中使用设计和 cancan 作为用户和授权......

在我看来,它应该看起来像:

然后在我渲染投票按钮的地方执行脚本......

在我的投票模型中,我有一个 answer_id 和一个 user_id,我知道 current_user.id 和当前 question.id 所以如果 vote.user_id 有当前 question.id 中的 vote.answer_id ,那么它不应该呈现我的按钮制作脚本... aarghh 但是如何使它工作...?

首先十分感谢!最好的问候, Thijs

0 投票
2 回答
110 浏览

ruby - 在rails3中查询

在我最近问的另一个问题中,我得到了一个非常好的答案并且代码工作......但我不知道它为什么工作......现在我有一个类似的问题,但不知道如何解决它...... .?

我有的:

楷模

用户型号:

问题模型:

答案模型:

投票模型:

在我的问题视图中,当 current_used 对该特定答案进行投票时,我想将文本加粗。那么我该如何完成这个:

蒂斯

0 投票
1 回答
4369 浏览

ruby-on-rails - Rails 从另一个模型的控制器更新一个模型中的数据

我有一个具有 billing_id 的用户模型。我有 Order 模型,它使用支付网关运行交易,该网关返回我想保存到 User 模型的 billing_id 列中的帐单 ID。我想我把 MVC 架构的基础知识搞混了。

我的印象是 UsersController 和 OrdersController 更新各自表的数据。这是否意味着如果我从 OrdersController 返回了一些东西,例如帐单 ID,没有其他方法可以将该帐单 ID 保存到 User 模型中的 billing_id 列中?感谢和抱歉,如果这是非常基本的。:)

另外,我认为一个可能的解决方案可能是以某种方式通过 ApplicationsController 将返回值传递到 UsersController 以保存到 User 表中。这可能吗?

0 投票
1 回答
957 浏览

ruby-on-rails-3 - 新/创建 ActiveRecord 模型的自定义返回值

所以我有一个模型(照片),当我调用Photo.new @image => @image/时Photo.create :image => @image,我希望我的模型找到具有相同图像哈希的现有照片,或者从@image 创建一张新照片。假设我不能使用Photo.find_or_initialize_by_hash,因为我有一个自定义查找功能,它可以根据软图像哈希查找图像的紧密副本。

我的第一个想法是做

不幸的是,我意识到你不能只在模型中重新定义 self,所以现在我认为最好的方法是按照将返回值从初始化更改为副本的方式来做一些事情。

有点像这样,但它不起作用(我听说过关于覆盖初始化的恐怖故事)

0 投票
2 回答
1775 浏览

ruby-on-rails - Rails - 获取关联的所有者

嘿。我从 Rails 开始,我想我的问题很简单。我有 2 个模型:

我试图在 show 方法上找到这本书的所有者,但我所做的一切都说我找不到没有 ID 的所有者。

我的控制器有:

而我的观点:

谢谢!