是否有发送AJAX命令的快捷方式?

时间:2010-07-27 20:40:42

标签: ruby-on-rails

所以,我的应用程序使用了大量的AJAX,我发现自己做了很多:

    respond_to do |format|
      format.js do
        render :update do |page|
          #actual code
        end
      end   
    end

有快捷方式吗?

1 个答案:

答案 0 :(得分:1)

这种控制器内联的内容呈现通常被认为是不好的做法,因为它打破了Rails MVC架构中关注点的分离。如果每次更新都有很多代码,并且它出现在很多控制器中,则尤其如此。这将很快崩溃并且很难维持。

渲染的最短路径(代码方式)是利用您的操作中的默认视图名称,例如:

def create
  @model = Model.new(...)

  respond_to do |format|
    format.js
  end
end

这就是从名为create.js.erb的视图中渲染所需的全部内容。使用视图的优点是,通过部分可以使代码保持干净并且更易于维护。