使用rails 4.1,我在root上呈现联系人部分=>页#回家。在创建操作失败后,它会呈现contacts / new。成功后会创造出来。
使用验证呈现当前根路径的最佳方法是什么?如果错误或成功,我想将所有内容保存在同一视图中。我找到了类似的答案,很多都在轨道3或之前。似乎没什么用。
部分视图
<%= simple_form_for @contact, :html => {:class => 'form-horizontal col-sm-12'} do |f| %>
控制器
class ContactsController < ApplicationController
def new
@contact = Contact.new
end
def create
@contact = Contact.new(params[:contact])
@contact.request = request
if @contact.deliver
flash.now[:notice] = 'Thank you for your message. We will contact you soon!'
else
flash.now[:error] = 'Cannot send message.'
render :new
end
end
end
答案 0 :(得分:0)
调用@contact.valid?
将填充@contact.errors.full_messages
任何验证失败。然后你可以创建一个部分的东西:
<%- unless model.errors.full_messages.empty? %>
<ul>
<%- model.errors.full_messages.each do |message| ->
<li><%= message %></li>
<%- end %>
</ul>
<%- end %>
然后在根操作视图中呈现部分:
<%= render partial: "path/to/partial", locals: { model: @contact } %>