ruby-on-rails - 无模型的 rails 形式

标签 ruby-on-rails forms rails-routing

我正在制作一个 super 简单的应用程序,本质上只是一个 Controller 和一些 View 。我不知道如何使表单提交然后重定向到另一个操作。

这是我的代码:

# app/controllers/wizard_controller.rb

class WizardController < ApplicationController
  def calculate

    # process data from form here

    redirect_to controller: 'wizard', action: 'show'
  end

  def show
    # print processed data here
  end
end

这就是wizard#calculate View 看起来像:

<div class="alert alert-info">
    <h2>Get advice on where to live in 3 easy steps!</h2>
</div>

<br/>

<%= form_tag(:controller => "wizard", :action => "calculate") do %>

 ... form fields ...

<%= submit_tag("Submit") %>

<% end %>

此时,只需转到 /wizard/calculate重定向至/wizard/show立即,因为 redirect_to ... 之前没有条件语句线。

编辑:使用 Twitter 上的回复解决 我基本上是试图获取表单数据并在同一个操作中处理所有数据。我通过拆分 calculate 解决了这个问题进入setup ,具有形式和 calculate 的 View 我在其中处理数据并重定向到 show .

此外,<%= form_tag "/wizard/calculate", method: "get" do %>帮助准确提交表单数据。

感谢所有的回复,它对理解 Rails 中的工作原理有很大帮助。

最佳答案

我不太确定你的问题是什么。你在哪里#process form data here你必须很好地处理表单数据。

如果您没有模型,您可以通过 params 访问发布的值。例如,如果您的表单上有一个名为“地址”的字段,您将使用 params[:address]访问 Controller 中的值。

关于ruby-on-rails - 无模型的 rails 形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10440705/

相关文章:

ruby-on-rails - Nokogiri 使用 Ruby On Rails 进行抓取未按预期工作

javascript - 发送 AJAX 请求而不提交表单

c# - Windows Form 在不阻塞 UI 的情况下运行外部进程

ruby-on-rails -/YYYY/MM/Title-Slug URL 结构与 Friendly_Id Solution Chokes on #edit

ruby-on-rails - rails 路由 : combine index and show actions

ruby-on-rails - 使用路由约束时设计错误

ruby-on-rails - 在我的 GSuite 日历上创建事件并使用服务帐户邀请与会者

ruby-on-rails - Rails 3.1 Assets 管道和缓存

ruby-on-rails - 生产中的首选日志级别

c# - 如何将 Windows 窗体 GUI 中字段的值保存到文件,然后恢复它们?