ruby-on-rails - Rails 3 中的 onchange remote_function - 有效吗?我怎样才能不引人注目地完成它?

标签 ruby-on-rails ruby-on-rails-3

我有两个问题。

我在 Rails 3 应用程序中有一个选择标记,如下所示:

 <%= select(@adverse_event_template_settings, 
    "display_arms", 
    options_for_select([["Yes", true], ["No", false]]), 
    { :selected => :display_arms },  
    :onchange => remote_function(:update => "display_arms", 
          :method => "put", 
          :with => "'display_arms=' + value", 
          :url => { :controller => :adverse_event_template_settings, 
               :action => :update, :id => @aets.id})) %>

这实现了我想要的功能 - 即,当选择框值更改时调用 Controller 操作。

尽管这可行,但我想知道 1) 这在 Rails 3 中有效吗?我知道这是令人讨厌的 JavaScript,但在 Rails 3 中工作的 Remote_function 对我来说似乎很奇怪 - 这里有问题吗?

如果上述内容无效,我真的真的很想知道2)如何才能不引人注目地完成相同的操作(即在同一个 Controller 中调用相同的操作)?有没有办法在 Rails 3 中简单干净地做到这一点?我迫切需要这部分的编码帮助。

非常感谢! 如果您需要更多详细信息,请告诉我。

最佳答案

(我假设您正在使用 jQuery)。

我会将 javascript 部分放入 .js 文件中,并使用 jQuery 管理 onchange 事件。

<%= select(@adverse_event_template_settings, 
    "display_arms", 
    options_for_select([["Yes", true], ["No", false]]), 
    { :selected => :display_arms }) %>

并在js文件中:

  $(document).ready(function() {

    $('#display_arms').change(function(){
      $.ajax({url: 'YOUR URL',
        data: 'display_arms=' + value,
        success: function(data){
          $('#display_arms').html(data);
          }
      })
    });
  });

(我还没有时间测试这个,但你明白了)

说实话,我不确定是否有办法不引人注意地做这种事情(或者我很感兴趣!)。

关于ruby-on-rails - Rails 3 中的 onchange remote_function - 有效吗?我怎样才能不引人注目地完成它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4739501/

相关文章:

ruby-on-rails-3 - RSpec Custom Matcher 测试模型中的百分比属性

json - 如何为 Rails 3 中的自定义 Devise Controller 设置默认格式(如 JSON)?

jquery - 如何在rails中的数据表中发送参数

ruby-on-rails - 无法安装 pg gem os X 10.11.6、Rails 5、ruby 2.3

javascript - 替换 Rails 表单字段

ruby-on-rails - rails 回形针 : Can I access the model?

ruby-on-rails-3 - 将 activeuuid gem 用于 rails 中的现有数据库

ruby-on-rails - 如何仅设置回形针上传图像的宽度?

ruby-on-rails - Rails 5.1.5:TypeError:无法转换 ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Array::Data

MySql OUTFILE 在 rails 3 中不起作用