ruby-on-rails – 当点击下拉选项时,Rails:提交(通过AJAX)

当选择下拉框选项时,最简单和最优雅的方式自动提交 AJAX表单?我正在创建一个管理员页面,其中管理员可以修改用户权限(其中“权限”以整数形式存储),我希望“权限”字段是一个下拉框,当管理员自动提交并更新点击他希望用户拥有的选项.

这是我目前正在查看的这个简单版本.我需要知道将其转换为远程表单的最佳方法,当单击某个选项时,该表单将自动提交.

随意指出任何切向的建议或其他任何东西…我相对来说比较新的Rails,只是达到了我可以编写代码而不经常地引用别人的工作.

<!-- This is the "index" view,by the way. -->
<% for membership in @story.memberships %>
  <% form_for membership do |f| %>
    <%= f.select :permissions,[['none',0],['admin',9]] %>
  <% end %>
<% end %>

解决方法

有几种方法来处理这个问题.当然,观察场方法是一个,但是你也可以使用一个简单的javascript或一个remote_function来实现:

这里是简单的JS方法:

<% remote_form_for membership do |f| %>
    <%= f.select :permissions,9]],{},:onchange => 'this.form.submit()' %>
<% end %>

另一种方式将是这样的,并且将避开表单构建器(并且这可能有几个语法错误):

<%= select_tag(:permissions,{:onchange => "#{remote_function(:url  => permissions_path(:story_id => story,:with => "'permission='+value")}"})

我个人喜欢前者.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...