Rails form_for 从不调用创建控制器操作来使用redirect_to

2023-12-04

我正在使用 Rails 3,并且 StatusController 中有一个 form_for 。当我点击提交按钮时,我的创建方法永远不会被调用。我的创建方法有一个redirect_to:index,但是当我点击“提交”时,所有信息都保留在表单中,并且页面不会重定向。然而,该对象确实正确保存在数据库中。

什么会导致这种情况?

控制器:

class StatusController < ApplicationController
  def new
    @status = Status.new
  end
  def create
    @status = Status.new(params[:status])
    @status.date_added = Time.now
    if @status.save
    else
      render 'new'
    end
  end

View:

.well
  =form_for @status do |f|
    =f.label :user_email
    =f.text_field :user_email

    =f.label :added_by
    =f.text_field :added_by

    =f.label :comments
    =f.text_area :comments
    %br
    %br
    =f.submit

我已经将代码调整为此,现在数据在提交时从表单中消失,但是该对象永远不会被保存,因为永远不会调用“创建”。


我刚刚在这里学习 Ruby,所以我可能是错的,但如果状态保存正确,看起来你永远不会重定向。

 class StatusController < ApplicationController
  def new
    @status = Status.new
  end
  def create
    @status = Status.new(params[:status])
    @status.date_added = Time.now
    if @status.save
      format.html { redirect_to @status } # Or :index if you want to redirect to index
    else
      render 'new'
    end
  end

当然,请确保您也创建了这些控制器方法和视图。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails form_for 从不调用创建控制器操作来使用redirect_to 的相关文章

随机推荐

  • 自动完成 HTML 中的 ERROR 404(使用 ASP.NET 和 JQuery)

    由于某些原因 在 ASP NET 项目中 我的自动完成功能无法正常工作 我尝试了在数据连接中使用数据源的不同方法 但无济于事 我已经为其创建了一个名为 Diagnose 的数据库 但由于某种原因 它在 jquery 上显示错误 404 这是
  • 如何使我的 css 文件在 django 中工作

    我是 django 新手 但在 python 方面有一些相关技能 我刚刚开始在 django 中构建一个项目 到目前为止我已经能够在我的项目中创建一个应用程序 另外 我已经能够将我的网站的index html文件链接到django 并且在命
  • Final ArrayList 的意义是什么?

    通过将 ArrayList 或其他 Collection 设为 Final 我们可以获得哪些优点 缺点 我仍然可以向 ArrayList 添加新元素 删除元素并更新它 但最终的效果是什么 但最终的效果是什么 这意味着您无法重新绑定变量以指向
  • 如何在 JavaScript 中设置浏览器特定的 css?

    如何设定风格 webkit box shadow 0px 0px 11px 000通过 JavaScript 到一个元素 您可以使用style object element style webkit box shadow 0px 0px 1
  • 活动堆栈问题

    我有两组活动 假设每组有 3 个活动 A1 B1 C1 A2 B2 C2 我从 A1 启动我的应用程序 然后 gt B1 gt C1 这里我想从 C1 跳转到 gt A2在 A2 处 如果我按回键 应用程序应该存在 而不是让我返回 C1 然
  • Firebase:如何自动更新多个资源?

    Firebase 允许更新资源交易地 据我了解 客户端执行此操作 向服务器发送请求 说 如果旧值是 X 则将新值设置为 Y 如果存在争用 服务器可能会拒绝来自客户端的多个更新 直到其中一个更新被接受为止 现在 如果我想自动更新多个资源该怎么
  • 如何使用javascript删除表中的特定行?

    到目前为止我已经实施了 在输入字段中输入值并单击 添加 按钮 输入的值将添加到新行 当我单击删除按钮时 所有行都将被删除 我需要实施什么 复选框应该添加到每一行 如果我选择该复选框并单击 删除 按钮 则只有该特定行应该被删除 并且如果我也选
  • Angular 中的通用 http 错误处理

    Angular2 JWT为原生 Angular http 类提供 AuthHttp 包装器 该类会自动在每个请求中包含 http 授权标头 在我的服务中 我通常会这样调用后端 api getThings Observable
  • 在 django-nonrel 中创建超级用户

    我是一个新手 一直在学习 django nonrel 教程 并在 Google App Engine 中设置了 django nonrel 我现在尝试使用以下命令创建超级用户 manage py createsuperuser userna
  • Nginx 位置匹配正则表达式不起作用

    我无法将位置与下面提到的模式匹配 我想将过期标头设置为 24 小时 但它不起作用 如果我只使用下面提到的正则表达式 它就有效 location abc php expires 24h 下面的例子不起作用 location abc php x
  • Delphi Win64 调试器加载符号有限制吗?

    我正在使用 RAD Studio 10 2 3 东京 Research 相关这个问题 and 这个问题我在调试广泛使用运行时 BPL 作为插件系统的旗舰应用程序时遇到了麻烦 仅当作为 Win64 应用程序进行编译和调试并使用 Delphi
  • 在 ajax 加载的页面片段中运行脚本

    我的网络应用程序动态加载其 UI 的各个部分jquery ajax 不过 新的 UI 部分带有脚本 我这样加载它们 Use ajax url url dataType html success function data textStatu
  • F# 中的通用单位

    在 F 中编写泛型函数时 我可以使用 LanguagePrimitives 模块中定义的成员 例如在此函数中 只需增加一个数字 let inline increment x a x LanguagePrimitives GenericOne
  • CUDA 5.0:替换 cutil.h?

    我想用新的 CUDA 5 0 编译一个旧项目 基于 CUDA 2 3 不幸的是 它使用了旧的 cutil h 标头 该标头在 CUDA 5 0 中不再可用 这个标题有替代品吗 特别是缺少图像导入和导出功能 PPM PGM 例如剪切保存PGM
  • JPanel 填充所有 JFrame 空间

    我编写了这段代码来显示面板中的一组颜色 import java util ArrayList import java util List import javax swing JFrame import javax swing JPanel
  • PHP - RSS 生成器

    我有一个旧网站 每次创建新帖子时都会生成自己的 RSS 当我在 PHP 4 的服务器上时一切正常 但现在主机更改为 PHP 5 我总是有一个 格式错误的 XML 我使用 xml parser create 和 xml parse 和 fwr
  • C# 通过OleDb读取打开的Excel文件

    我需要连接到open使用 NET 3 5 的 Excel 2003 文件 看来我尝试使用的 OleDb 连接只需要该文件 但我需要同时在 Excel 中打开这个文件 Is 非锁定读取可能的 EDIT 我通过在打开文件之前复制文件解决了这个问
  • Private 可见性修饰符的含义

    在下面的 Tosee 类中 当我调用 s hiddenInt 时 hiddenInt 是可见的 但是 当我在另一个类 CantSee 中创建 ToSee 对象时 私有变量不可见 为什么会这样呢 我的印象是 私有意味着在类的任何实例中 客户端
  • NHibernate Validator 未与 Fluent NHibernate 集成

    我在让 NHV 与 Fluent NHibernate 配合使用时遇到一些问题 我的单元测试有一个应该验证失败的实体 最终会抛出 ADO 异常 我按照以下方式配置了 NHV private static void Init SessionF
  • Rails form_for 从不调用创建控制器操作来使用redirect_to

    我正在使用 Rails 3 并且 StatusController 中有一个 form for 当我点击提交按钮时 我的创建方法永远不会被调用 我的创建方法有一个redirect to index 但是当我点击 提交 时 所有信息都保留在表