如何在Ruby on Rails中返回没有布局的html



This is javascript

$('#course_name, #subject').on('input', () => {
$.ajax({
url: '/search_courses_list',
method: 'get',
data: {
course: {name: $('#course_name').val()},
subject: $('#subject').val()
},
success: function (data) {
$('#course_search_result').html(data)
}
})
}).trigger('input')

这是控制器方法。

def search_courses_list
@courses = Course.joins(:segments).where('lower(name) like :str', str: "%#{params["course"]["name"].downcase}%")
if (params["subject"]!="")
@courses = @courses.where({segments: {subject_id: params["subject"]}})
end
render :search_result, courses: @courses
end
def search_result
@courses = courses
end

我尝试使用 ajax 直接将 Erb 生成的文本作为 Html 字符串获取,并将它们直接插入到我想要的容器中。我是否有可能只得到我想要的 Erb 文件而没有被布局包围?

https://guides.rubyonrails.org/layouts_and_rendering.html#the-layout-option

您可以在操作上执行此操作

render layout: false

您可以简单地将render :search_result, courses: @courses替换为render :search_result, courses: @courses, layout: false

最新更新