Rails只对一个字段进行远程操作

时间:2012-11-20 00:20:28

标签: ruby-on-rails-3 unobtrusive-javascript

我在Rails 3中有一个表单,必须提交正常帖子,就像这样

<%= form_for @seller, :as => :seller_user, :url => save_seller_url do |f| %>

但是其中一个字段需要执行远程ajax调用来更新某个值,比如这个

<%= f.select( ... ) %> => on change please make a remote call to fill new data here

我没有在网上找到任何文档来添加:remote =&gt;选择助手的真实选项,我错过了什么吗? 处理这个问题的正确方法是什么? 谢谢

1 个答案:

答案 0 :(得分:1)

我也和他搏斗了一段时间。我认为最好的“轨道方式”就是:

<%= form_tag(controller: "sellers", action: "your_controller_action") do %>
    OTHER FORM STUFF HERE
    <select name="some_select" id="some_select" onchange="your_javascript_function">
        <option> ... </option>
    </select>
    OTHER FORM STUFF HERE
    <%= submit_tag("Submit") %>
<% end %>

然后在您的控制器中处理提交,您可以像平常一样引用此字段,如params[:some_select]

这假设您的控制器名为sellers_controller。有关form_tag here和form_tag帮助here

的更多信息