所以我在 Rails 中有一个表单,非常基础。但我决定添加一些功能。一点上下文。
你选择你是男人还是女人,然后表单生成一些字段。我有一个在 V1 中已经存在的字段,但是当我使用 javascript 生成它时,它没有保存在 DB 中。我真的不明白为什么。这是一些代码。
控制器
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] 不再起作用了。
所以我有点挣扎,看看我怎么能做到这一点。谢谢!