我试图通过内置的rails ajax方法向我的表单添加一个新的选择字段,但不确定如何继续。我已经看过其他的ajax rails了但是如果有一个更有意义的人发现它提供方向,那将会有所帮助。
details.html.erb
<%= form_for @event, url: wizard_path do |f| %>
# lots of forms here
<div id="add-field">
</div>
<%= link_to "Add Event Detail", add_event_detail_path, remote: true %>
<%= f.submit "Next" %>
<% end %>
事件/ build_controller 添加了这个
def add_event_detail
respond_to do |format|
format.js
end
end
add_event_detail.erb
$("#add-field").append("<%= f.select(:event_detail, options_for_select([['Option1', 'Option1']) %> <%= f.text_field :event_detail %> ");
我现在也添加了这条路线
match "/add_event_detail" => "events/build#add_event_detail", via: 'get'
我有一些问题(除了您可能会看到的错误代码)。如何将f
变量传递给jquery append方法,以及什么是处理每个新创建的表单的唯一名称的好方法,:event_detail1
:event_detail2
等。理想情况下我会想要将该名称链接到表格
e.g。 :选项的位置:位置
答案 0 :(得分:0)
您是否尝试过查看nested_form gem(。https://github.com/ncri/nested_form_fields),它可以动态地向表单添加字段。 或者试着看看RailsCasts#403 Dynamic Forms它会给你一个明确的方向。 希望这有助于你找到正确的方向。