如何使用控制器加载自定义js文件?

时间:2015-03-24 15:58:21

标签: javascript ruby-on-rails ruby controller

如果我关注user_create_path,如果我使用此代码,将运行“views / users / create.js.erb”文件:

users_controller.br

def create
  #...
  respond_to do |format|
    format.html { redirect_to root_path }
    format.js
  end
end

如何有条件地加载不同的js文件?

我正在考虑这些方面的事情:

def create
  #...
  if User.all.count < 50
    respond_to do |format|
      format.html { redirect_to root_path }
      format.js { create_a.js.erb }
    end
  else
    respond_to do |format|
      format.html { redirect_to root_path }
      format.js { create_b.js.erb }
    end
  end
end

1 个答案:

答案 0 :(得分:3)

也许你应该根据条件运行不同的js?

<强> users_controller.rb

def create
  respond_to do |format|
    format.html { redirect_to root_path }
    format.js { @users_count = User.all.count }
  end
end

<强> create.js.erb

<% if @users_count < 50 %>
  alert('a');
<% else %>
  alert('b');
<% end %>