你如何在Ruby on Rails控制器操作中使用一行javascript进行响应



我无法在网上找到任何关于如何做到这一点的有用资源。基本上,我要做的是在def show_div控制器操作完成时运行一个简单的jQuery $('#test-div').show();

我已经尝试了以下方法,但它不起作用。 它实际上呈现了令我感到困惑的 HTML。当我明确声明该方法使用 js 响应时。

users_controller.rb

  def show_div
    @user = User.first
    respond_to do |format|
      format.js {}
    end
    # also tried
    # render :js => "$('#test-div').show();"
  end

show_div.js.erb

$('#test-div').show();

render :text应该做你要求的事情——只需返回原始文本(在你的例子中恰好是JavaScript代码),而不对它做任何事情。

最新更新