gpt4 book ai didi

ruby-on-rails - Rails 指南 - 停留在多模型表单上

转载 作者:行者123 更新时间:2023-12-04 06:15:18 24 4
gpt4 key购买 nike

我正在阅读 Rails 指南 (http://guides.rubyonrails.org/getting_started.html),但卡在第 11 项“构建多模型表单”。

练习的这一部分解释了如何将一个模型的表单字段包含在另一个模型的表单中......

我的问题是第二个模型的表单字段没有显示..

代码完全按照练习(我什至绝望并直接从示例中复制粘贴代码)

我的代码发布在下面。我花了几个小时将其与指南中的代码进行比较,结果完全一样。任何人都可以指出可能出了什么问题吗?

非常感谢。

这是我包含部分的代码

<%= render :partial => 'tags/form',
:locals => {:form => post_form} %>

这是我的部分内容

<p>Above - THIS IS DISPLAYING</p>

<%= form.fields_for :tags do |tag_form| %>

<p>Inside - THIS IS NOT DISPLAYING</p>

<div class="field">
<%= tag_form.label :name, 'Tag:' %>
<%= tag_form.text_field :name %>
</div>
<% unless tag_form.object.nil? || tag_form.object.new_record? %>
<div class="field">
<%= tag_form.label :_destroy, 'Remove:' %>
<%= tag_form.check_box :_destroy %>
</div>
<% end %>
<% end %>

这是我的 Post 模型,设置为接受标签的嵌套属性

class Post < ActiveRecord::Base
validates :name, :presence => true
validates :title, :presence => true,
:length => { :minimum => 5 }

has_many :comments, :dependent => :destroy
has_many :tags

accepts_nested_attributes_for :tags, :allow_destroy => :true,
:reject_if => proc { |attrs| attrs.all? { |k, v| v.blank? } }

end

最佳答案

这是你做的吗?

We also add a @post.tags.build at the top of this form. This is to make sure there is a new tag ready to have its name filled in by the user. If you do not build the new tag, then the form will not appear as there is no new Tag object ready to create.

<% @post.tags.build %>
<%= form_for(@post) do |post_form| %>

如果这不起作用,请尝试将 @post.tags.build 添加到您的 PostController 的 new 方法中,看看是否能为您带来字段!

关于ruby-on-rails - Rails 指南 - 停留在多模型表单上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8834326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com