title: Display a nested form
body: <p>I would like to display my orders like the ingredients are displayed just above. And I don't understand why is not ?? </p>
  
  <p>Post : Ingredients nested<br />
  Onlines :Orders nested</p>
  
  <p><strong>Views/posts/show:</strong> </p>
  
  <pre><code>&lt;p&gt;
    &lt;strong&gt;Title:&lt;/strong&gt;
    &lt;%= @post.title %&gt;
  &lt;/p&gt;
  
  &lt;p&gt; Posted by : &lt;%= link_to @post.user.pseudo, profile_path(@post.user.pseudo) %&gt;,  &lt;%= time_ago_in_words(@post.created_at) %&gt; ago &lt;/p&gt;
  &lt;p&gt;
    &lt;strong&gt;Image:&lt;/strong&gt;
   &lt;%= image_tag @post.image.url(:medium) %&gt;
  &lt;/p&gt;
  
  &lt;p&gt;
    &lt;strong&gt;Description:&lt;/strong&gt;
    &lt;%= @post.description %&gt;
  &lt;/p&gt;
  
  
   &lt;div class="btn-group" role="group" aria-label="..."&gt;
    &lt;%= link_to '-  Pusher  - ', new_post_online_path(@post), data: { confirm: 'Confirmer la mise en ligne de #{@title}?' }, class: "btn btn-primary " %&gt;
  
  
   &lt;div class="col-md-12"&gt;
      &lt;h3&gt;Ingrédients :&lt;/h3&gt;
      &lt;div id="ingredients"&gt;
  
        &lt;ul&gt;
          &lt;%- @post.ingredients.each do |ingredient| %&gt;
          &lt;li&gt;
            &lt;%= ingredient.name %&gt;
          &lt;/li&gt;
          &lt;%end%&gt;
        &lt;/ul&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;br&gt;
  
    &lt;div class="col-md-9"&gt;
      &lt;h3&gt;Parts :&lt;/h3&gt;
      &lt;div id="ingredients"&gt;
  
        &lt;ul&gt;
          &lt;%- @post.onlines.orders.each do |order| %&gt;
          &lt;li&gt;
            &lt;%= order.id %&gt;
          &lt;/li&gt;
          &lt;%end%&gt;
        &lt;/ul&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  
    &lt;%= link_to 'Patcher', edit_post_online_path(@post, @post.onlines.last), class: "btn btn-warning"%&gt;
  
  
  
        &lt;/div&gt;
  </code></pre>
  
  <p><strong>post controller:</strong></p>
  
  <pre><code>class PostsController &lt; ApplicationController
    before_action :authenticate_user!
    before_action :set_post, only: [:show, :edit, :update, :destroy]
    before_action :owned_post, only: [:edit, :update, :destroy]
  
  
    # GET /posts
    # GET /posts.json
    def index
          @posts = Post.push_posts 
  
  end  
  
  
    # GET /posts/1
    # GET /posts/1.json
    def show
  
    end
  
    # GET /posts/new
    def new
      @post = current_user.posts.build
    end
  
    # GET /posts/1/edit
    def edit
    end
  
    # POST /posts
    # POST /posts.json
    def create
      @post = current_user.posts.build(post_params)
      respond_to do |format|
        if @post.save
          format.html { redirect_to @post, notice: 'Post was successfully created.' }
          format.json { render :show, status: :created, location: @post }
        else
          format.html { render :new }
          format.json { render json: @post.errors, status: :unprocessable_entity }
        end
      end
    end
  
    # PATCH/PUT /posts/1
    # PATCH/PUT /posts/1.json
    def update
      respond_to do |format|
        if @post.update(post_params)
          format.html { redirect_to @post, notice: 'Post was successfully updated.' }
          format.json { render :show, status: :ok, location: @post }
        else
          format.html { render :edit }
          format.json { render json: @post.errors, status: :unprocessable_entity }
        end
      end
    end
  
    # DELETE /posts/1
    # DELETE /posts/1.json
    def destroy
      @post.destroy
      respond_to do |format|
        format.html { redirect_to posts_url, notice: 'Post was successfully destroyed.' }
        format.json { head :no_content }
      end
    end
  
  
  
    private
      # Use callbacks to share common setup or constraints between actions.
      def set_post
        @post = Post.find(params[:id])
      end
  
  
  
  
      # Never trust parameters from the scary internet, only allow the white list through.
      def post_params
        params.require(:post).permit(:user_id, :title, :description, :image, ingredients_attributes: [:id, :name, :_destroy])
      end
  
      def owned_post  
    unless current_user == @post.user
      flash[:alert] = "That post doesn't belong to you!"
      redirect_to root_path
    end
  end  
  
  def set_online
    @onlines = Online.find_by(params[:id]) 
    end 
  
  end
  </code></pre>
  
  <p><strong>Onlines controller:</strong></p>
  
  <pre><code>class OnlinesController &lt; ApplicationController
    before_action :authenticate_user!
    before_action :set_post 
    before_action :owned_online, only: [:new, :update]
    before_action :set_online
  
  
    def new 
      @online = current_user.onlines.build
      @online.post_id = @post.id
      @online.user_id = current_user.id
    end 
  
    def edit
    end
  
     def taked 
      @online.orders.update(taked: false)
    end 
  
    def create 
        if Online.where(post_id: params[:post_id]).any?
        @online = Online.where(post_id: params[:post_id]).last.update_attributes(push: false)
        end
       @online = @post.onlines.create(online_params)
      if @online.save
        if @online.portion &lt;= 0
            @online.update(push: false)
            flash[:success] = 'Veuillez indiquer le nombre de parts disponibles '
            redirect_to root_path 
          else
         @online.update(pushed_at: Time.zone.now)
         @online.update(push: true)
  
  
         flash[:success] = 'Votre post est en ligne !'
        redirect_to root_path
  
      end
      else 
        render 'new'
      end 
    end 
  
  
  
  
  def update  
      if @onlines.update(online_params)
        if @online.push == false
          if @online.portion &lt;= 0
            @online.update(push: false)
            flash[:success] = 'Veuillez indiquer le nombre de parts disponibles '
            redirect_to root_path 
          else
           @online.update(push: true)
           flash[:success] = 'Votre post a bien été pushé !'
           redirect_to root_path      
        end   
      end
      else
        @user.errors.full_messages
        flash[:error] = @user.errors.full_messages
        render :edit
      end
    end
  
  
  private 
  
  def online_params
    params.require(:online).permit(:user_id, :post_id, :prix, :portion, :push, :pushed_at, orders_attributes: [:id, :taked, :taked_at, :taked_by, :validated_at, :validated_by, :_destroy])
    end 
  
    def owned_online 
       @post = Post.find(params[:post_id])
    unless current_user == @post.user
      flash[:alert] = "That post doesn't belong to you!"
      redirect_to :back
    end
  end  
  
    def set_post
    @post = Post.find_by(params[:post_id]) 
    end 
  
  
    def set_online
      @post = Post.find(params[:post_id])
      @online = Online.find_by(params[:id]) 
    end 
  
  end
  </code></pre>
  
  <p>models 
  online :</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>class Online &lt; ActiveRecord::Base
    
    belongs_to :post
    belongs_to :user
    has_many :orders
    
    accepts_nested_attributes_for :orders, allow_destroy: true
    
    scope :push, -&gt;{ where(push: true).order("pushed_at DESC") }
  end</code></pre>
  </div>
  </div>
  </p>
  
  <p>orders : </p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>class Order &lt; ActiveRecord::Base
    belongs_to :online
    belongs_to :user
  end</code></pre>
  </div>
  </div>
  </p>
  
  <p>and post : </p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>  class Post &lt; ActiveRecord::Base
  
    
    belongs_to :user
    has_many :onlines, dependent: :destroy
  
    scope :push_posts, lambda { joins(:onlines).merge(Online.push) } 
  
    
  
    has_many :ingredients, dependent: :destroy
    
  
  
    accepts_nested_attributes_for :ingredients, reject_if: :all_blank, allow_destroy: true
  
    has_many :comments
    
    validates :image, presence: true
  
    has_attached_file :image, styles: { medium: "300x300#"}, default_url: "/images/:style/missing.png"
    validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/
  end</code></pre>
  </div>
  </div>
  </p>
  
  <p>So if you have the solution above, I'll take it !!
  Thanks </p>