ruby-on-rails - 提交表单时没有任何反应
问题描述
<div id="main-create-task"
<div>
<div id="newtask-form>"
<%= form_with model: [@categories,@categories.tasks.build] do |form| %>
<% if task.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(task.errors.count, "error") %> prohibited this task from being saved:</h2>
<ul>
<% task.errors.each do |error| %>
<li><%= error.full_message %></li>
<% end %>
</ul>
<% end %>
</div>
<div id="create-task">
<div>
<h1>New Task</h1>
</div>
<div>
<%= form.label :Task_name %>
<%= form.text_field :taskname%>
</div>
<br>
<div>
<%= form.label :Description %>
<%= form.text_area :taskbody%>
</div>
<br>
<div>
<%= form.label :Time %>
<%= form.text_field :tasktime%>
</div>
<br>
<%=form.submit "Submit" %>
</div>
</div>
<% end %>
</div>
</div>
</div>
这是我的任务控制器。
def new
@categories = current_user.categories.find(params[:category_id])
@task = Task.new
end
def edit
@categories = Category.find(params[:category_id])
@task = Task.find(params[:id])
end
def create
@category = current_user.categories.find(params[:category_id])
@task = @category.tasks.build(task_params)
@task.user_id = current_user.id
if @task.save
redirect_to categories_path
else
redirect_to category_path
end
我运行这段代码,它没有给我任何错误。当我单击提交时,没有任何反应。没有错误,它真的什么也没发生。
我看到它正在由 javascript 处理。我没有接触 Javascript 中的任何内容,我们现在不使用 javascript。需要帮助,稍后介绍
解决方案
Ruby on Rails 带有 JS。默认情况下form_with
,如果使用不显眼的 JavaScript 驱动程序(如 rails-ujs),则在后台通过 XMLHTTPRequest 附加提交表单的 data-remote 属性。来源。
要禁用远程提交,请使用local: true
:
<%= form_with model: [@categories,@categories.tasks.build], local: true do |form| %>
推荐阅读
- azureservicebus - 多个批处理消费者在接收消息时抛出 MessageLockLostException
- git - 如何从目录中删除除未版本化的 git 文件之外的所有文件?
- android - Android Studio 无法在物理设备上安装应用(但 adb 可以访问)
- maven - 如何在没有主类的情况下使用 maven-assembly-plugin 在 Kotlin 中创建可执行 jar?
- android - 最小化视图自定义中的多选窗口应用栏 - Android/React Native
- c# - 为什么我不能用这段代码让我的游戏对象移动?
- tapkey - 调用`https://login.tapkey.com/connect/token`时获取CORS
- javascript - 未捕获的类型错误:无法读取未定义的属性(读取“样式”)style.width="200px"
- sql - 将带有外部应用的 SQL 转换为 LINQ
- node.js - REST API - 如何处理 URIError:发送无效参数时“无法解码参数”