Ruby on rails 错误验证未显示在rails中

Ruby on rails 错误验证未显示在rails中,ruby-on-rails,redirect,render,Ruby On Rails,Redirect,Render,我在显示错误消息时遇到了麻烦。错误验证消息不会显示 在“我的用户”显示模板上: <%= form_for([current_user, @pub_message]) do |f| %> <%= render 'shared/error_messages', object: f.object %> <%= f.hidden_field :to_id, :value => @user.id %> <div class="micropo

我在显示错误消息时遇到了麻烦。错误验证消息不会显示

在“我的用户”显示模板上:

<%= form_for([current_user, @pub_message])  do |f| %>
  <%= render 'shared/error_messages', object: f.object %>
    <%= f.hidden_field :to_id, :value => @user.id %>
  <div class="micropost_message_field">
    <%= f.text_area :content, placeholder: "Any thoughts? Questions? Comments?", :id => 'public_message_text' %>
  </div>
  <%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>
但是,它不会显示错误消息。我从其他一些stackoverflow文章中读到,错误消息将无法通过重定向,因此我有一个渲染。但是,由于渲染只显示视图,因此我缺少所有变量。我之前尝试过复制和粘贴我的usershow操作中的所有内容,但这似乎是一个糟糕的做法。如果我这样做了,我还遇到了一个问题,我所有的模板都丢失了。似乎我必须将所有模板移动到一个共享文件夹中才能正常工作,但这似乎是错误的,因为有些事情只针对用户

我的错误消息在其他地方正确显示,但我无法找出我的发布消息有什么问题

我有一个非常类似的东西叫做MicroPost,它是有效的

def create
    @user = current_user
    @micropost = current_user.microposts.build(params[:micropost])
    if @micropost.save
        flash[:success] = "Micropost created!"
        redirect_to root_path
    else
        @feed_items = current_user.feed.paginate(page: params[:page], per_page: 20)
        render 'static_pages/home'
    end
end

我认为唯一的区别是它可以进行渲染,但在共享文件夹中也有它需要的所有模板。这是唯一可行的方法吗?

您能提供部分共享/错误消息吗?您能找到解决方案吗?
def create
    @user = current_user
    @micropost = current_user.microposts.build(params[:micropost])
    if @micropost.save
        flash[:success] = "Micropost created!"
        redirect_to root_path
    else
        @feed_items = current_user.feed.paginate(page: params[:page], per_page: 20)
        render 'static_pages/home'
    end
end