Rails ajax将其他表单字段插入表单中

时间:2014-11-11 07:02:37

标签: jquery ruby-on-rails ajax forms

我试图通过内置的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。 :选项的位置:位置

1 个答案:

答案 0 :(得分:0)

您是否尝试过查看nested_form gem(。https://github.com/ncri/nested_form_fields),它可以动态地向表单添加字段。 或者试着看看RailsCasts#403 Dynamic Forms它会给你一个明确的方向。 希望这有助于你找到正确的方向。