Có một trang liên hệ cung cấp tên, điện thoại, email và tin nhắn, sau đó gửi đến email của quản trị viên. Không có lý do gì để lưu trữ tin nhắn trong DB.Xác thực Rails từ bộ điều khiển
Câu hỏi. Làm thế nào để:
Sử dụng Rails kiểm chứng thực trong điều khiển, không sử dụng mô hình ở tất cả, HOẶC
Sử dụng kiểm chứng thực trong mô hình, nhưng không có bất kỳ mối quan hệ DB
UPD:
Mô hình:
class ContactPageMessage
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
attr_accessor :name, :telephone, :email, :message
validates :name, :telephone, :email, :message, presence: true
validates :email, email_format: { :message => "Неверный формат E-mail адреса"}
def initialize(attributes = {})
attributes.each do |name, value|
send("#{name}=", value)
end
end
def persisted?
false
end
end
điều khiển:
def sendmessage
cpm = ContactPageMessage.new()
if cpm.valid?
@settings = Setting.first
if [email protected]
redirect_to contacts_path, :alert => "Fail"
end
if ContactPageMessage.received(params).deliver
redirect_to contacts_path, :notice => "Success"
else
redirect_to contacts_path, :alert => "Fail"
end
else
redirect_to contacts_path, :alert => "Fail"
end
end
end
Tôi nghĩ bạn đã có một lớp học có cùng tên 'ContactPageMessage'. đó là vấn đề. –
Bạn có muốn lưu tên, điện thoại và email trong cơ sở dữ liệu và chỉ tin nhắn mới cần được xác thực và không được lưu trong cơ sở dữ liệu không? – user2801
@sumi, tôi không muốn lưu bất kỳ thứ gì vào DB. Vừa được xác thực. – Roman