【发布时间】:2014-06-21 09:29:42
【问题描述】:
在我的 Rails 应用程序中有一个视图,其中包含一个简单的用户表单,由一个文本框和一个提交按钮组成。
当用户提交表单时,根据他的输入,创建不同的模型:
class MessageController < ApplicationController
def create
if is_foo params[:text]
Foo.create
else
Bar.create
end
end
def is_foo(text)
# Here the message gets parsed
# i.e if text[0] == "M"
end
end
我的问题是,你认为将“is_foo”逻辑放在 Foo 模型中而不是像这样的控制器中是更好的设计吗?
型号:
class Foo < ActiveRecord::Base
def self.is_foo(text)
# Here the message gets parsed
# i.e if text[0] == "M"
end
end
控制器:
class MessageController < ApplicationController
def create
if Foo.is_foo params[:text]
Foo.create
else
Bar.create
end
end
end
一方面,模型应该处理逻辑。另一方面,这不是真正的逻辑,它更像是一个输入规则......你们觉得呢?
【问题讨论】:
标签: ruby-on-rails ruby rails-activerecord helper