Ruby on Rails: как мне остаться на той же странице, если сообщение не сохранено?

def create
    @addpost = Post.new params[:data]
    if @addpost.save
        flash[:notice] = "Post has been saved successfully."
        redirect_to posts_path
    else
        flash[:notice] = "Post can not be saved, please enter information."
    end
end

Если сообщение не сохранено, оно перенаправляется на http://0.0.0.0:3000/posts , но мне нужно остаться страница с полями для ввода текста, чтобы пользователь мог вводить данные.

post model

class Post < ActiveRecord::Base

    has_many :comments
    validates :title, :presence => true
    validates :content, :presence => true
    validates :category_id, :presence => true
    validates :tags, :presence => true
end

new method

def new
    @arr_select = { 1=>"One",2=>"Two" ,3=>"Three" }
    @categories_select = Category.all.collect {|c| [ c.category_name, c.id ] }
end

new.html.erb

Add post

<%= form_tag :controller=>'posts', :action=>'create' do %> <%= label :q, :Title %> <%= text_field :data, :title, :class => :addtextsize %>
<%= label :q, :Content %> <%= text_area :data, :content, :rows=>10 , :class => :addtextarea %>
<%= label :q, :Category %> <%= select :data, :category_id, @categories_select %>
<%= label :q, :Tags %> <%= text_field :data, :tags, :class => :addtextsize %>
<%= label :q, :Submit %> <%= submit_tag "Add Post" %> <% end %>

Что мне делать?

14
задан shibly 7 December 2011 в 18:10
поделиться