gpt4 book ai didi

ruby-on-rails - 我如何在 ReactJS 中使用嵌套表单?

转载 作者:搜寻专家 更新时间:2023-10-31 22:25:50 25 4
gpt4 key购买 nike

考虑这段代码片段:

<%= form_for @survey do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<%= f.fields_for :questions do |builder| %>
<%= render "question_fields", :f => builder %>
<% end %>
<p><%= f.submit "Submit" %></p>
<% end %>

它会返回给我一些哈希值(rails dev 会知道)。我的问题是如何在 ReactJS 中制作这种格式?接收与 Rails 默认完成的完全相同的参数。至于现在我只能在 JSX 中使用 HTML 标签。目前我在 Controller 中接收参数并根据需要对它们进行排序(这似乎是不好的方法)。我已经测试了一些 npm 包,但他们的文档似乎没有帮助!其中包括: https://www.npmjs.com/package/react-rails-form-helpers

https://www.npmjs.com/package/react-form

有没有 npm 包?在 Rails 5 稳定版中使用 react_on_rails gem

最佳答案

我最终得到了手动编写的输入,从 reactjs 的角度来看是不受控制的。

<input type="text" name={`listing[working_time_slots_attributes][${value}][from]`}
defaultValue={timeSlot.from} />

还有 axios,form-serialize npm。

import axios from 'axios';
import serialize from 'form-serialize';

handleSubmit(event) {
event.preventDefault();
const formData = serialize(event.target, { hash: true });

// alert(`A data was submitted: ${JSON.stringify(formData, null, 2)}`);
axios.post(`/api/listings/${this.props.listing.id}/update_working_time_slots`, formData)
.then((response) => {
this.setState({ timeSlots: response.data.working_time_slots }); // eslint-disable-line react/no-set-state
console.log(response); // eslint-disable-line no-console
})
.catch((error) => {
console.log(error); // eslint-disable-line no-console
});
}

关于ruby-on-rails - 我如何在 ReactJS 中使用嵌套表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41543930/

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