问题标签 [multi-model-forms]

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 回答
4081 浏览

ruby-on-rails - 如何以多模型形式使用error_messages_for?

我有两个模型:专辑和曲目。Album 有很多曲目,Track 属于专辑。

我希望能够在创建专辑时根据需要创建尽可能多的曲目,类似于railscasts 第 197 集。不过,与 railscasts 剧集不同的是,Track 表单同时包含标题和描述 - 两者都是必需的。

现在,表单如下所示:

如果我决定将表单提交为空白,我会在表单顶部收到以下错误消息:

这些错误消息不是特定于模型的,都位于页面顶部,并且每个模型只出现一次(请注意,我将两个字段留空并且错误消息只出现一次 - 不特定于哪个轨道) .


为了生成初始曲目字段,我在专辑控制器的新操作中添加了以下行:2.times { @album.tracks.build }

我的表单看起来的要点是这样的:

我尝试将顶部替换为<%= f.error_messages %><%= error_messages_for @album %>仅显示专辑的消息),并添加一个<%= error_messages_for track %>(显示特定于每个曲目的错误消息)——但这并不能解决问题。有人知道如何解决这个问题吗?

谢谢!

0 投票
1 回答
1851 浏览

ruby-on-rails - Accepts_nested_attributes_for partials 的 AJAX 更新

我目前的工作环境是 Rails 2.3.8(我的公司没有迁移到 Rails 3 的各种原因)。我正在尝试通过 AJAX 调用更新多模型表单的元素 - 想法是根据用户选择或填写其他字段的方式替换某些下拉列表。

我以前设法通过使用非基于表单的部分来完成这项工作 - 我现在遇到的问题是当部分基于 form_for 和 fields_for 时,重现选择下拉列表的 AJAX 更新。

很抱歉下面的文字墙 - 我试图尽可能地减少它(代码本身在我的测试站点上确实有效)。

如何在爆发控制器中生成表单构建器元素,然后将其传递给部分类别以代替 event_form?

任何指针都会很棒:D

楷模

意见

_形式

_outbreak_type_select

_category_select

调用 update_select_menus 后如何生成 event_form

RJS

控制器

爆发

0 投票
1 回答
569 浏览

ruby-on-rails - 在多模型视图轨道中使用 Has_and_belongs_to_many 关联

我是 Rails 新手,对视图有疑问,如果这是一个简单的问题,请原谅。我想知道如何添加到视图中的 has_and_belongs_to_many 关联。

这是我有一个带有以下 mongoid 文档的模型的情况:

和...

我想要的是一个能够在文本字段中写入项目名称的人员页面,如果项目存在,它将把他添加到项目中,如果它不存在,它将创建一个名为他的新项目指定的。

我想要的与此类似(在 HAML 中):

但我不想每次都创建一个新项目,因为该项目可能已经存在。

我在 formtastic 和 nested_form 上查找了一些东西,但没有看到与我的场景相匹配的完美示例。

谢谢

0 投票
1 回答
180 浏览

c# - 包装/多模型视图的客户端验证

我将这 2 个模型类包装在一个模型中。强类型视图和服务器端验证工作得很好,但我无法让客户端验证为这个包装的模型类工作。

这是我的客户端代码:

问题是 emailProperty 仅返回其模型中所述的属性名称,即。“EmailAddress”,但强类型视图将名称分配为“Model1Name.EmailAddress”,因为它被称为:

因此,它在查找属性时返回 null 并且出现错误。所以我想我的问题是:

  1. 有没有办法获取分配的模型名称(“Model1Name”),以便我可以将其附加到属性名称?
  2. 我可以从 DataAnnotations/ModelValidationRule 类传递分配的模型名称吗?如果是这样,怎么做?

这是我的模型类:

旁注:客户端验证适用于单个模型视图。

编辑 经过多次调试,我发现

在我的 DataAnnotationsModelValidator 中仅返回参数名称“EmailAddress”,并省略了其前缀“Model1Name”,因此返回了错误的 ID。

任何帮助,将不胜感激。谢谢。

0 投票
1 回答
1239 浏览

django - Django - 以 __init__ 形式更改 min_length?

有什么办法可以在表单构造函数中更改字段的 *min_length* 参数?这不起作用:

0 投票
1 回答
64 浏览

ruby-on-rails-3.1 - rails-3.1 | 这是嵌套表单的情况还是其他情况?

我正在开发一个用作飞机日志的应用程序。我的数据库设计可能会朝着错误的方向前进。对此的任何建议都会很有用。这是嵌套表单的情况吗?还是仅当我需要同时为两个模型创建记录时?

到目前为止,这就是我布置模型的方式:

我想要做的是创建一个新的旅行记录并更新飞机记录中的 :hobbs 列。使用 Aircraft 表,我基本上想跟踪当前的 hobbs 时间(或将其视为汽车的当前里程)。当我创建一个新的行程时,它将使用当前的 hobbs 时间作为 hobbs_out 属性,并且 hobbs_in 将记录在行程中并用于更新 Aircraft.hobbs。

我可以使用trip_controller 中的代码执行此操作吗?就像是:

如果它更像是嵌套表单的情况,我将如何让表单只更新飞机记录并创建新的行程记录?

谢谢!

0 投票
1 回答
420 浏览

ruby-on-rails - Rails 指南 - 第 11 步 - 多模型表单 - MassAssignmentSecurity 错误

我非常仔细地遵循 RailsGuide,它运行良好,直到第 11 步。通过 MultiModel 表单添加标签。添加代码后,我收到此错误:

ActiveModel::MassAssignmentSecurity::PostsController#update 中的错误无法批量分配受保护的属性:tags_attributes

应用程序跟踪:app/controllers/posts_controller.rb:65:in block in update' app/controllers/posts_controller.rb:64:inupdate'

我已经备份并重新开始了几次,以确保这不是用户错误。有人可以帮我完成这一步。我快完成了!然后我可以继续阅读 Hartl 的教程。谢谢你。

0 投票
1 回答
116 浏览

ruby-on-rails - 使用多模型形式在 rails3 中创建新对象

就rails而言,我是n00b。我正在尝试在我的第一个 rails3 项目中创建一个单一的多模型表单。详情如下:

很明显,一个项目可以有多个评论,但是当我创建一个项目时,我希望它至少有 1 条评论。所以我想在创建项目时以单一形式获取项目和第一次审查。

我正在使用以下视图:

<% f.fields_for :item_reviews, @item.item_reviews do |ff| %>将无法工作,因为没有与@item当前关联的 item_review ( @item = Item.new) 在我保存 @item 之前,我无法创建新的 item_review。在那种情况下我该怎么办。

我知道一种可能性是独立于模型的形式,但我不能使用上面的东西来简化生活。

PS:我正在使用引导程序,以防万一有帮助。

0 投票
0 回答
31 浏览

ruby-on-rails-3 - HashWithIndifferentAccesswhile 在多对一关系的发布请求中

我正在使用多模型表单来发布新项目的请求(带有审查)。我在发布请求中使用以下参数:

但是保存时出现以下错误:

我怀疑 item_reviews 中的数组是罪魁祸首,所以我做了以下事情:

但后来我开始收到以下错误:

我该如何解决?

0 投票
0 回答
121 浏览

ruby-on-rails - Rails:多模型表单不会将数据写入模型

好的,这正在驱使我转弯。我有三个模型[与这个问题相关]:Outfit、Outfit_relationship 和 Answer。Outfit 是父模型,其他是子模型。Outfit 模型如下所示:

请注意,第二个和第三个 attr_accessible 用于访问其他模型的属性。我不确定这是否绝对必要,有的文章说有,有的说没有,所以我把它放进去。

我为此数据创建了一个多模型表单,我想用一个按钮发布它。这是代码:

以下是装备控制器的相关信息:

所以问题是除了ID之外没有任何东西写入我的数据库。我确定我在这里做一些愚蠢的事情,但不知道为什么。