gpt4 book ai didi

ruby-on-rails - 带有ajax的rails fields_for

转载 作者:行者123 更新时间:2023-12-04 06:11:47 25 4
gpt4 key购买 nike

我正在构建一个动态表单生成器。我遇到了一个似乎无法解决的问题。

所以我有一个名为“forms”的数据库表表单可以有“字段”..

问题是,当用户创建一个新的“字段”(单击添加字段)时,它应该为该字段使用 ajax 新字段。

问题是我不能只做这样的事情: <br/>
<%= Form.fields_for Field.new do |field| %><br/>
  <%= field.text_field :name%><br/>
<% end %><br/>

有人有想法吗?是的,我看 railscasts,是的,我用谷歌搜索,是的,我在 github 上找到了“复杂形式”的 repo。

但还没有运气

最佳答案

如果你想要一个全 javascript 方法(而不是调用你的服务器来生成字段名称)那么基本上你只需要为任何新字段增加字段名称。

例如,如果你有

class Form < ActiveRecord::Base
has_many :fields
accepts_nested_attributes_for :fields

表单中的 HTML 有一个输入字段,类似

<label for="form_fields_attributes_0_name">
<input id="form_fields_attributes_0_name" name="form[fields_attributes][0][name]" type="text" />

然后你需要写一些javascript让它看起来像

<label for="form_fields_attributes_1_name">
<input id="form_fields_attributes_1_name" name="form[fields_attributes][1][name" type="text" />

你可以做类似的事情

$('#form_fields_attributes_1_name').attr('id').split('_');

$('#form_fields_attributes_1_name').attr('name').split(/\]\[/);

得到这些数字。

这是一个 example这是重构 here.

关于ruby-on-rails - 带有ajax的rails fields_for,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4033608/

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