本文介绍了扶手:渲染来自其他控制器.js.erb?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎样才能使一个 .js.erb 从不属于认为它会在被渲染?控制器

例如:如何呈现 create.js.erb 在我的网页浏览,从 post_controller

post_controller.rb

 高清创建
    @post = Post.new(post_params)

    respond_to代码做|格式|
      如果@ post.save
        的format.html {redirect_to时@post,通知:后已成功创建 }
        format.json {渲染动作:'秀',状态:创建,地点:@post}
        format.js#{我想我需要的东西在这里?}
      其他
        的format.html {渲染的动作:新的'}
        format.json {渲染JSON:@ post.errors,状态:unprocessable_entity}
      结束
    结束
  结束
 

解决方案

似乎有几种方法可以做到这一点:

 的respond_to办|格式|
    format.js {:位置=> path_to_controller_method_url(参数)}
结束
 

How你的respond_to使用Ruby on Rails在控制器中的另一个js文件?

 的respond_to办|格式|
    format.js {
       :模板=> 教室/ create_differently.js.erb
       :布局=>假
    }
结束
 

呈现红宝石不同的观点在轨道上

 的respond_to办|格式|
    format.js {渲染:文件=> /path/to/save.js.erb}
结束
 

How can I render a .js.erb from a controller that doesn't belong to the view it is going to be rendered in?

For example: How can I render create.js.erb in my pages view, from a post_controller?

post_controller.rb

def create
    @post = Post.new(post_params)

    respond_to do |format|
      if @post.save
        format.html { redirect_to @post, notice: 'Post was successfully created.' }
        format.json { render action: 'show', status: :created, location: @post }
        format.js #{I think I need something in here?}
      else
        format.html { render action: 'new' }
        format.json { render json: @post.errors, status: :unprocessable_entity }
      end
    end
  end
解决方案

It seems there are several ways to achieve this:

respond_to do |format|
    format.js { :location => path_to_controller_method_url(argument) }
end

How do you respond_to another js file in the controller using Ruby on Rails?

respond_to do |format|
    format.js {
       :template => "classrooms/create_differently.js.erb",
       :layout => false
    }
end

Render alternate view in ruby on rails

respond_to do |format|
    format.js { render :file => "/path/to/save.js.erb" }
end

这篇关于扶手:渲染来自其他控制器.js.erb?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 19:17