【问题标题】:how to call javascript from a rails controller action如何从 Rails 控制器操作中调用 javascript
【发布时间】:2019-08-14 09:21:48
【问题描述】:

我有一个表单,在提交时,它指向一个“overlap_check”控制器操作。 在操作中,如果已发送的参数满足条件,我想通过调用 javascript 函数在页面上呈现模式。 这可能吗?

我见过一些例子:

# render :js => "('#testing').modal('show');"

但运气不好。

谢谢

【问题讨论】:

    标签: javascript ruby-on-rails


    【解决方案1】:

    1) 在控制器中:

    def overlap_check
      respond_to do |format|
        format.js
      end
    end
    

    2) 创建overlap_check.js.erb

    3) 将js代码添加到overlap_check.js.erb

    ('#testing').modal('show');
    

    4) 在表单中添加remote: true

    【讨论】:

      【解决方案2】:

      请在控制器操作中提及以下格式。

      respond_to do |format|
              format.js 
      end
      

      并在视图中创建actioname.js.erb。在那里你可以打电话给('#testing').modal('show');。 如果您通过链接调用控制器操作,则添加 remote: true

      <%= link_to your_link_name, path, :remote => true %>
      

      或者,如果您从行动中调用,则在您的表单中添加 remote: true

      那么它应该可以工作了。

      【讨论】:

      • 谢谢,我已经完成了,但是我收到了ActionController::UnknownFormat 错误?
      • 你如何调用你的控制器动作,通过点击链接?还是通过表单提交?
      • 我用表单提交调用控制器
      • 然后在您的表单中添加remote: true 。如果您仍有疑问,请将您的表格发送给我一次。
      • 我希望你有解决方案:)。快乐编码
      猜你喜欢
      • 2015-01-12
      • 1970-01-01
      • 2011-02-12
      • 2021-12-19
      • 1970-01-01
      • 2015-04-08
      • 1970-01-01
      • 2021-04-26
      • 1970-01-01
      相关资源
      最近更新 更多