使用一个没有模型且没有数据库的控制器处理数据

时间:2018-07-11 19:51:41

标签: ruby-on-rails

我正在做一个小测试,想看看我的想法是否正确。

我有一个将要接收一串数据的表格。提交后,它将进行一些格式化,然后显示格式化的数据。

我本来以为在index操作中具有表单,将数据发布以创建,然后使用格式化后的数据重定向回index。我不喜欢这样,因为格式化后的数据附加了带有查询字符串的网址(太丑陋了)

将表单发布到索引操作并使用帮助程序方法格式化数据并显示它是否合理。我的索引方法看起来像这样:

def index
  if params
    # Do Stuff
  end
end

1 个答案:

答案 0 :(得分:0)

也许您可以通过使用无表模型(无需数据库连接)和内置的ActiveRecord精美功能来实现此目的,从而满足您的需求。

class Person
  include ActiveModel::Model
  attr_accessor :name, :email
  ...
end

然后在您的索引操作中显示,并使用表单发送一个POST进行创建,然后简单地显示一个模板,其中显示了格式化的数据。

# controller
def index
  @person = Person.new
end

def create
  @person = Person.new(person_params)
  render :formatted # formatted.html.erb
end

# index.html.erb
<%= form_for @person %>
  ...
<% end %>