gpt4 book ai didi

javascript - 保存在 Rails 中 DB js 生成的字段中

转载 作者:行者123 更新时间:2023-12-02 18:49:32 25 4
gpt4 key购买 nike

所以我在 Rails 中有一个非常基本的表单。但我决定添加一些功能。一点背景信息。
您选择自己是男性还是女性,然后表单会生成一些字段。我有一个字段已经存在于 V1 中,但是当我使用 javascript 生成它时,它没有保存在数据库中。我真的不明白为什么。这是一些代码。

Controller

def create
@pokemon = Pokemon.new(params[:pokefuck])

respond_to do |format|
if @pokemon.save
format.html { redirect_to '/pokemons', notice: 'pokemon was successfully created.' }
format.json { render json: @pokemon, status: :created, location: @pokemon }
else
format.html { render action: "new" }
format.json { render json: @pokemon.errors, status: :unprocessable_entity }
end
end
end

查看

有效的原始字段

<%= f.select "size", options_for_select(size, @pokemon.size) %>

大小是一个哈希值

创建了一个,但不起作用

var s = document.createElement("select");
s.name = "po";
s.id = "pokemon_size";
sex.appendChild(s);
for(i in size) {
document.formName.po.options[i] = new Option(size[i], size[i]);
}

我认为这是因为我的新元素的名称不是 pokemon[size],但是当我使用它时, document.formName.pokemon[size].options[i] 行不再起作用。

所以我有点努力想知道如何才能让它发挥作用。谢谢!

最佳答案

假设您的 Controller 代码将表单字段命名为“pokefuck”,那么您需要将选择的名称命名为“pokefuck[size]”,然后在表单的元素集合中引用该名称:

var s = document.createElement("select");
s.name = "pokefuck[size]";
s.id = "pokemon_size";
sex.appendChild(s);
for(i in size) {
document.formName.elements['pokefuck[size]'].options[i] = new Option(size[i], size[i]);
}

关于javascript - 保存在 Rails 中 DB js 生成的字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15967788/

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