在Rails 6中,js.erb
文件用于在服务器端渲染JavaScript代码,并且可以嵌入Ruby代码。这种特性通常用于处理AJAX请求后的页面局部刷新或动态内容更新。以下是如何在Rails 6中使用js.erb
的基本步骤和相关概念:
app/views/your_controller/
目录下创建一个与动作同名的js.erb
文件。app/views/your_controller/
目录下创建一个与动作同名的js.erb
文件。js.erb
文件中,你可以编写JavaScript代码,并使用<%= %>
标签嵌入Ruby表达式。rails routes
命令查看路由信息。假设我们有一个简单的任务列表应用,用户可以添加新任务并通过AJAX更新页面。
控制器:
class TasksController < ApplicationController
def create
@task = Task.new(task_params)
if @task.save
respond_to do |format|
format.js
end
else
# 处理错误...
end
end
private
def task_params
params.require(:task).permit(:title)
end
end
js.erb文件:
// app/views/tasks/create.js.erb
$('#tasks').append('<li><%= j @task.title %></li>');
$('#new_task')[0].reset();
前端页面:
<!-- app/views/tasks/index.html.erb -->
<ul id="tasks">
<%= render @tasks %>
</ul>
<%= form_with(model: @task, local: false, remote: true) do |form| %>
<%= form.text_field :title %>
<%= form.submit %>
<% end %>
通过以上步骤,你可以在Rails 6中有效地使用js.erb
文件来处理AJAX请求并动态更新页面内容。
领取专属 10元无门槛券
手把手带您无忧上云