如果我有以下代码,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
答案 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