是否可以指定我想运行的js.erb文件?

时间:2016-12-13 03:40:12

标签: ruby-on-rails

如果我有以下代码,Rails会设置为自动查看views文件夹并找到photos/feed.js.erb。但我想做的是告诉它改为运行users/feed.js.erb

PhotosController
def feed
    @title = "Favorites" 
    @user_feed_items = current_user.favorites.order('created_at desc').paginate(page: params[:page], per_page: 15)
      respond_to do |format|
        format.html { 
               render 'users/feed' }
        format.js 
      end 
  end  

2 个答案:

答案 0 :(得分:0)

Rails: Render a .js.erb from another controller?

format.js { render :file => "/users/feed.js.erb"}

答案 1 :(得分:0)

render接受要呈现的模板的完整路径(相对于app / views)。因此,您只需输入users/feed

即可
render "users/feed"

Rails知道这个视图属于不同的控制器,因为字符串中嵌入了斜杠字符。如果要显式,可以使用:template选项。

render template: "users/feed"

http://guides.rubyonrails.org/layouts_and_rendering.html#using-render