Javascript 选中此复选框可在rails中切换管理
我有一个父表,其中有admin和superadmin字段。超级管理员可以将其他父级指定为管理员或超级管理员。我希望在父项列表前面有一个复选框,显示如果选中任何复选框,则表明特定父项是admin或superadmin,如果未选中任何复选框,则表明特定父项既不是admin也不是superadmin。superadmin如何通过取消选中该复选框将该特定父项分配或删除为admin或superadmin复选框。请帮忙 更新Javascript 选中此复选框可在rails中切换管理,javascript,ruby-on-rails,ruby,ajax,ruby-on-rails-5,Javascript,Ruby On Rails,Ruby,Ajax,Ruby On Rails 5,我有一个父表,其中有admin和superadmin字段。超级管理员可以将其他父级指定为管理员或超级管理员。我希望在父项列表前面有一个复选框,显示如果选中任何复选框,则表明特定父项是admin或superadmin,如果未选中任何复选框,则表明特定父项既不是admin也不是superadmin。superadmin如何通过取消选中该复选框将该特定父项分配或删除为admin或superadmin复选框。请帮忙 更新 <td><%= check_box_tag 'admin',
<td><%= check_box_tag 'admin', true, parent.admin, :onclick => 'this.form.submit()' %></td>
<td><%= check_box_tag 'superadmin', true, parent.superadmin, :onclick => 'this.form.submit()' %></td>
“this.form.submit()”%>
'this.form.submit()'%>
如何取消选中admin或superadmin,并将该父项分别作为admin或superadmin删除
更新
一种方法可以是这样的:
- 将
字段更改为复选框
- 并将其发送到
文件routes.rb
post'status/parent/:id'=>'parents#change_status'
:id
以参数[:id]
结束。来自ajax请求的数据也以params散列结束,因此params[:type]
和params[:value]
<%= form_tag update_status_path, :method => 'patch' do %>
<tbody>
<% @parents.each do |parent| %>
<tr>
<td><%= link_to parent.email,parent_path(parent) %></td>
<td><%= check_box_tag "parents[#{parent.id}][admin]", true, parent.admin, class: 'status', data: {id: parent.id, type: 'admin'} %></td>
<td><%= check_box_tag "parents[#{parent.id}][superadmin]", true, parent.superadmin, class: 'status', data: {id: parent.id, type: 'superadmin'} %></td>
</tr>
<% end %>
</tbody>
routes.rb
get 'main-admin/manage-users', to: 'parents#manage_users'
到目前为止你试过什么?辛斯坦:你能分享一下你被困的地方吗。我无法确定如何选中或取消选中admin和superadmin字段,以便这些字段的布尔值在数据库中更改。@Sinstein请检查上面的更新。如何取消选中以删除或选中以分配,以便数据库中的管理员或超级管理员的布尔值发生更改。
def change_status
@parent = Parent.find(params[:id])
if @parent.update_attributes(params[:type] => params[:value])
redirect_to parents_path
end
end
post 'status/parent/:id' => 'parents#change_status'
<%= form_tag update_status_path, :method => 'patch' do %>
<tbody>
<% @parents.each do |parent| %>
<tr>
<td><%= link_to parent.email,parent_path(parent) %></td>
<td><%= check_box_tag "parents[#{parent.id}][admin]", true, parent.admin, class: 'status', data: {id: parent.id, type: 'admin'} %></td>
<td><%= check_box_tag "parents[#{parent.id}][superadmin]", true, parent.superadmin, class: 'status', data: {id: parent.id, type: 'superadmin'} %></td>
</tr>
<% end %>
</tbody>
def manage_users
@parents = Parent.search(params[:search]).order(params[:sort]).admins
@parents_to_update = []
end
get 'main-admin/manage-users', to: 'parents#manage_users'