Ruby on rails 4 使用一个表单Rails和简单表单创建多个记录
我正在尝试用简单的表单创建一个表单,它允许我创建多个记录。我将分享一些代码,并在下面解释更多内容。Ruby on rails 4 使用一个表单Rails和简单表单创建多个记录,ruby-on-rails-4,simple-form,Ruby On Rails 4,Simple Form,我正在尝试用简单的表单创建一个表单,它允许我创建多个记录。我将分享一些代码,并在下面解释更多内容。 首先,我在您的控制器中构建了所需数量的employee对象: def new @user = current_user @restaurant = Restaurant.find(params[:restaurant_id]) @employees = Array.new(3) { @restaurant.aware_employees.build } end
首先,我在您的控制器中构建了所需数量的employee对象:
def new
@user = current_user
@restaurant = Restaurant.find(params[:restaurant_id])
@employees = Array.new(3) { @restaurant.aware_employees.build }
end
然后我创建了一个路由来处理创建多个
resources :aware_employees do
post 'create_multiple', on: :collection
resources :restaurant_roles
end
然后我创建了视图
<%= simple_form_for create_multiple_user_restaurant_aware_employees_path(@user, @restaurant) do |q| %>
<% @employees.each do |employee|%>
<%= simple_fields_for employee do |f| %>
<div class="col-sm-6 col-xs-12">
<div class="col-xs-12 form-row">
<p class='form-label'>Name</p>
<%= f.input :name, label: false, input_html: { class: "req" } %>
<span class='feedback'></span>
</div>
<div class="col-xs-12 form-row">
<p class='form-label'>Verifcation</p>
<%= f.input :verification, label: false, input_html: { class: "req" } %>
<span class='feedback'></span>
</div>
<div class="col-xs-12 form-row">
<p class='form-label'>Hours</p>
<%= f.input :expiration, label: false, as: :date %>
<span class='feedback'></span>
</div>
<div class="col-xs-12 form-row">
<p class='form-label'>Role</p>
<%= f.association :restaurant_roles, label: false, multiple: true, collection: Role.all, label_method: :role, value: :id, input_html: { class: "chosen-select req", multiple: true, style: 'width:255px; height:200px;'} %>
<span class='feedback'></span>
</div>
</div>
<% end %>
<%end%>
<%= q.button :submit, value:'',:class => "nav-link"%>
<%end%>
名称
验证
小时数
角色
“导航链接”%>
我不知道这里发生了什么。我得到的错误是simple_表单将post请求路由到新操作,而不是创建多个。我不知道我离这里有多远,但我觉得我好像掉进了一个兔子洞里
以下是错误消息:
没有路线匹配[张贴]“/users/1/restaurants/46/aware_employees/new”
为什么它认为我在给aware#U员工发帖子是新的 我认为simple_form_的第一个参数是它所操作的对象。@employees的简单表单,url:create\u multiple\u user\u restaurant\u aware\u employees\u path(@user,@restaurant)