Loading ...
Sorry, an error occurred while loading the content.

Wizard Form - Ruby On Rails

Expand Messages
  • fauzigifzi
    Siang semuanya. Mohon maaf sebelumnya tadi saya sudah kirim message namun pas sudah terkirim malah berantakan tulisannya. Saya ada problem mengenai wizard form
    Message 1 of 5 , Apr 23, 2013
    • 0 Attachment
      Siang semuanya.

      Mohon maaf sebelumnya tadi saya sudah kirim message namun pas sudah terkirim malah berantakan tulisannya.

      Saya ada problem mengenai wizard form (saya pakai wicked gem) .
      Pertama saya membuat sebuah quiz, dimana quiz mempunyai banyak pertanyaan dan pertanyaan mempunyai banyak jawaban.

      Saya mengikuti railscasts episode 196 - 197 untuk membuat quiz, dimana banyaknya pertanyaan dan jawaban sudah ditentukan oleh kita.


      class QuizzesController < ApplicationController

      def new
      @quiz = Quiz.new
      3.times do
      pertanyaan = @...
      4.times { pertanyaan.jawabans.build }
      end
      end


      Dan setelah berhasil membuatnya, saya tertarik untuk menggunakan wizard form, dimana untuk step pertama mengisi attribute dari quiz

      title:string
      jumlahpertanyaan:integer
      jumlahjawaban:integer


      dan step kedua (atau step terakhir) membuat pertanyaan dan jawaban (tetap mengacu pada quiz), dimana jumlah pertanyaan dan jawaban ditentukan pada step 1.

      Kira-kira begini untuk controller dan form nya

      ## Step Pertama
      ## quizzes_controller.rb

      def new
      @quiz = Quiz.new
      end

      def create
      @quiz = Quiz.new(params[:quiz])
      if @...
      redirect_to quiz_steps_path(:quiz_id => @...)
      else
      render :new
      end
      end

      ## form quizzes/new.html.erb

      <%= form_for @quiz, :url => create_quiz_path(@quiz),
      :method => :post do |f| %>
      <div class="field">
      <%= f.label :title %><br />
      <%= f.text_field :title %>
      </div>
      <div class="field">
      <%= f.label :jumlahpertanyaan %><br />
      <%= f.text_field :jumlahpertanyaan %> </div>
      <div class="field">
      <%= f.label :jumlahjawaban %><br />
      <%= f.text_field :jumlahjawaban %>
      </div>
      <div class="actions">
      <%= f.submit ( "Next" ) %>
      </div>
      <% end %>

      ## Step Kedua
      ## quiz_steps_controller.rb

      include Wicked::Wizard
      steps :pertanyaan

      def show
      @quiz = Quiz.find(params[:ujian_id])
      jumpertanyaan = @...
      jumjawaban = @...

      jumpertanyaan.times do
      pertanyaan = @...
      jumjawaban.times { pertanyaan.jawabans.build }
      end
      render_wizard
      end

      def update
      @quiz = Quiz.find(params[:quiz]) # line 24
      @quiz_attributes = (params[:quiz])
      render_wizard @quiz
      end

      ## form pertanyaan.html.erb

      <%= form_for @quiz, :url => wizard_path do |f| %>
      <fieldset>
      <%= f.fields_for :pertanyaans do |builder| %>
      <%= render "form_pertanyaans", :f => builder %>
      <% end %>
      </fieldset>
      <div class="actions">
      <%= f.submit ( "Simpan" )%>
      </div>
      <% end %>

      Kesalahan muncul pada step dua ketika mau simpan,

      Muncul pesan error seperti ini

      ArgumentError in QuizStepsController#update

      Unknown key: pertanyaans_attributes

      Rails.root: C:/Sites/quiz

      Application Trace

      app/controllers/quiz_steps_controller.rb:24:in `update'


      Jujur muter-muter logikanya ga dapet, maklum baru belajar sedikit-sedikit.

      Mohon bantuannya :)

      Terima kasih
    • fauzigifzi
      Maaf mas tadi berantakan jadi saya submit lagi yang baru http://tech.groups.yahoo.com/group/id-ruby/message/6998 Mohon maaf sekali lagi. Oya untuk di quiz saya
      Message 2 of 5 , Apr 23, 2013
      • 0 Attachment
        Maaf mas tadi berantakan jadi saya submit lagi yang baru http://tech.groups.yahoo.com/group/id-ruby/message/6998

        Mohon maaf sekali lagi.

        Oya untuk di quiz saya sudah sertain juga lengkap nya bisa dilihat disini http://pastebin.com/rMNKx2yh

        --- In id-ruby@yahoogroups.com, Yacobus Reinhart <yacobus.reinhart@...> wrote:
        >
        > mungkin di model Quiz blm disertai accepts_nested_attributes_for
        > :pertanyaans, jangan lupa di attr_accessible :pertanyaans_attributes
        >
        >
        > 2013/4/24 fauzigifzi <fauzigifzi@...>
        >
      • Yacobus Reinhart
        builder % kode untuk _form_pertanyaans.html.erb nya klo ada boleh lihat? 2013/4/24 fauzigifzi ...
        Message 3 of 5 , Apr 23, 2013
        • 0 Attachment
          <%= render "form_pertanyaans", :f => builder %>
          kode untuk _form_pertanyaans.html.erb nya klo ada boleh lihat?


          2013/4/24 fauzigifzi <fauzigifzi@...>

          > **
          >
          >
          > Maaf mas berantakan barusan saya submit lagi yang baru, mohon maaf sekali
          > lagi.
          >
          > Oh ya untuk di quiz udah di sertain juga
          > lengkapnya saya simpan disini http://pastebin.com/9in3TC9b
          >
          >
          > --- In id-ruby@yahoogroups.com, Yacobus Reinhart <yacobus.reinhart@...>
          > wrote:
          > >
          > > mungkin di model Quiz blm disertai accepts_nested_attributes_for
          > > :pertanyaans, jangan lupa di attr_accessible :pertanyaans_attributes
          > >
          > >
          > > 2013/4/24 fauzigifzi <fauzigifzi@...>
          > >
          > > > **
          >
          > > >
          > > >
          > > > Siang semuanya.
          > > > Saya ada problem mengenai wizard form (saya pakai wicked gem) .
          > > > Pertama saya membuat sebuah quiz, dimana quiz mempunyai banyak
          > > > pertanyaan dan pertanyaan mempunyai banyak jawaban.Saya mengikuti
          > > > railscasts episode 196 - 197 untuk membuat quiz, dimana banyaknya
          > > > pertanyaan dan jawaban sudah ditentukan oleh kita.
          > > > class QuizzesController < ApplicationControllerdef new@quiz =
          > > > Quiz.new3.times do pertanyaan = @...
          > > > 4.times { pertanyaan.jawabans.build } endendend
          > > > Dan setelah berhasil membuatnya, saya tertarik untuk menggunakan wizard
          > > > form, dimana untuk step pertama mengisi attribute dari quiz
          > > > title:stringjumlahpertanyaan:integerjumlahjawaban:integer
          > > > dan step kedua (atau step terakhir) membuat pertanyaan dan jawaban
          > > > (tetap mengacu pada quiz), dimana jumlah pertanyaan dan jawaban
          > > > ditentukan pada step 1.
          > > > Kira-kira begini untuk controller dan form nya
          > > > ## Step Pertama
          > > > ## quizzes_controller.rb
          > > > def new @quiz = Quiz.new end
          > > > def create @quiz = Quiz.new(params[:quiz]) if @...
          > > > redirect_to quiz_steps_path(:quiz_id => @...), notice: "Silahkan
          > > > buat pertanyaann untuk " + @... + "." else render :new
          > > > end end
          > > > ## form quizzes/new.html.erb
          > > > <%= form_for @ujian, :url => create_ujian_subdomain_path(@ujian),
          > > > :method => :post do |f| %> <div class="field"> <%= f.label
          > > > :title %><br /> <%= f.text_field :title %> </div> <div
          > > > class="field"> <%= f.label :jumlahpertanyaan %><br /> <%=
          > > > f.text_field :jumlahpertanyaan %> </div> <div class="field"> <%=
          > > > f.label :jumlahjawaban %><br /> <%= f.text_field :jumlahjawaban %>
          > > > </div> <div class="actions"> <%= f.submit ( "Next" ), :class =>
          > > > "btn btn-inverse btn-medium" %> </div> <% end %>
          > > >
          > > > ## Step Kedua
          > > > ## quiz_steps_controller.rb
          > > > include Wicked::Wizardsteps :pertanyaan
          > > > def show @quiz = Quiz.find(params[:ujian_id]) jumpertanyaan =
          > > > @... jumjawaban = @...
          > > > jumpertanyaan.times do pertanyaan = @...
          > > > jumjawaban.times { pertanyaan.jawabans.build } end
          > > > render_wizardend
          > > > def update @quiz = Quiz.find(params[:quiz]) # line 24
          > > > @quiz_attributes = (params[:quiz]) render_wizard @quizend
          > > >
          > > > ## form pertanyaan.html.erb
          > > > <%= form_for @quiz, :url => wizard_path do |f| %> <fieldset> <%=
          > > > f.fields_for :pertanyaans do |builder| %> <%= render
          > > > "form_pertanyaans", :f => builder %> <% end %> </fieldset> <div
          > > > class="actions"> <%= f.submit ( "Simpan" ), :class => "btn
          > > > btn-inverse btn-medium" %> </div> <% end %>
          > > >
          > > > Kesalahan muncul pada step dua <http://i.cubeupload.com/IFc9RU.png>
          > > > ketika mau simpan,
          > > > Muncul pesan error seperti ini
          > > > ArgumentError in QuizStepsController#updateUnknown key:
          > > > pertanyaans_attributes
          > > > Rails.root: C:/Sites/quiz
          > > > Application Trace
          > > > <http://demosma.lvh.me:3000/sekolah/ujian_steps/pertanyaan#> |
          > > > Framework Trace
          > > > <http://demosma.lvh.me:3000/sekolah/ujian_steps/pertanyaan#> | Full
          > > > Trace <http://demosma.lvh.me:3000/sekolah/ujian_steps/pertanyaan#>
          > > > app/controllers/quiz_steps_controller.rb:24:in `update'
          > > >
          > > > Jujur muter-muter logikanya ga dapet, maklum baru belajar
          > > > sedikit-sedikit.
          > > > Mohon bantuannya :)
          > > > Terima kasih
          > > >
          > > > [Non-text portions of this message have been removed]
          > > >
          > > >
          > > >
          > >
          > >
          > >
          > > --
          > > *"To accomplish great things, we must not only act, but also dream; not
          > > only plan, but also believe."* *~ Anatole France*
          >
          > >
          > >
          > > [Non-text portions of this message have been removed]
          > >
          >
          >
          >



          --
          *"To accomplish great things, we must not only act, but also dream; not
          only plan, but also believe."* *~ Anatole France*


          [Non-text portions of this message have been removed]
        • fauzigifzi
          Ini mas untuk form pertanyaan sama jawaban _form_pertanyaans.html.erb
          Message 4 of 5 , Apr 23, 2013
          • 0 Attachment
            Ini mas untuk form pertanyaan sama jawaban

            _form_pertanyaans.html.erb

            <div class="fields">
            <p>
            <%= f.label :pertanyaan, "Pertanyaan" %><br />
            <%= f.text_area :pertanyaan, :rows => 3 %>
            </p>
            <%= f.fields_for :jawabans do |builder| %>
            <%= render 'form_jawabans', :f => builder %>
            <% end %>
            </div>

            _form_jawabans.html.erb

            <p class="fields">
            <%= f.label :konten, "Jawaban" %>
            <%= f.text_field :konten %>
            <%= f.check_box :nilai %>
            </p>




            --- In id-ruby@yahoogroups.com, Yacobus Reinhart <yacobus.reinhart@...> wrote:
            >
            > <%= render "form_pertanyaans", :f => builder %>
            > kode untuk _form_pertanyaans.html.erb nya klo ada boleh lihat?
            >
            >
            > 2013/4/24 fauzigifzi <fauzigifzi@...>
            >
            > > **
            > >
            > >
            > > Maaf mas berantakan barusan saya submit lagi yang baru, mohon maaf sekali
            > > lagi.
            > >
            > > Oh ya untuk di quiz udah di sertain juga
            > > lengkapnya saya simpan disini http://pastebin.com/9in3TC9b
            > >
            > >
            > > --- In id-ruby@yahoogroups.com, Yacobus Reinhart <yacobus.reinhart@>
            > > wrote:
            > > >
            > > > mungkin di model Quiz blm disertai accepts_nested_attributes_for
            > > > :pertanyaans, jangan lupa di attr_accessible :pertanyaans_attributes
            > > >
            > > >
            > > > 2013/4/24 fauzigifzi <fauzigifzi@>
            > > >
            > > > > **
            > >
            > > > >
            > > > >
            > > > > Siang semuanya.
            > > > > Saya ada problem mengenai wizard form (saya pakai wicked gem) .
            > > > > Pertama saya membuat sebuah quiz, dimana quiz mempunyai banyak
            > > > > pertanyaan dan pertanyaan mempunyai banyak jawaban.Saya mengikuti
            > > > > railscasts episode 196 - 197 untuk membuat quiz, dimana banyaknya
            > > > > pertanyaan dan jawaban sudah ditentukan oleh kita.
            > > > > class QuizzesController < ApplicationControllerdef new@quiz =
            > > > > Quiz.new3.times do pertanyaan = @...
            > > > > 4.times { pertanyaan.jawabans.build } endendend
            > > > > Dan setelah berhasil membuatnya, saya tertarik untuk menggunakan wizard
            > > > > form, dimana untuk step pertama mengisi attribute dari quiz
            > > > > title:stringjumlahpertanyaan:integerjumlahjawaban:integer
            > > > > dan step kedua (atau step terakhir) membuat pertanyaan dan jawaban
            > > > > (tetap mengacu pada quiz), dimana jumlah pertanyaan dan jawaban
            > > > > ditentukan pada step 1.
            > > > > Kira-kira begini untuk controller dan form nya
            > > > > ## Step Pertama
            > > > > ## quizzes_controller.rb
            > > > > def new @quiz = Quiz.new end
            > > > > def create @quiz = Quiz.new(params[:quiz]) if @...
            > > > > redirect_to quiz_steps_path(:quiz_id => @...), notice: "Silahkan
            > > > > buat pertanyaann untuk " + @... + "." else render :new
            > > > > end end
            > > > > ## form quizzes/new.html.erb
            > > > > <%= form_for @ujian, :url => create_ujian_subdomain_path(@ujian),
            > > > > :method => :post do |f| %> <div class="field"> <%= f.label
            > > > > :title %><br /> <%= f.text_field :title %> </div> <div
            > > > > class="field"> <%= f.label :jumlahpertanyaan %><br /> <%=
            > > > > f.text_field :jumlahpertanyaan %> </div> <div class="field"> <%=
            > > > > f.label :jumlahjawaban %><br /> <%= f.text_field :jumlahjawaban %>
            > > > > </div> <div class="actions"> <%= f.submit ( "Next" ), :class =>
            > > > > "btn btn-inverse btn-medium" %> </div> <% end %>
            > > > >
            > > > > ## Step Kedua
            > > > > ## quiz_steps_controller.rb
            > > > > include Wicked::Wizardsteps :pertanyaan
            > > > > def show @quiz = Quiz.find(params[:ujian_id]) jumpertanyaan =
            > > > > @... jumjawaban = @...
            > > > > jumpertanyaan.times do pertanyaan = @...
            > > > > jumjawaban.times { pertanyaan.jawabans.build } end
            > > > > render_wizardend
            > > > > def update @quiz = Quiz.find(params[:quiz]) # line 24
            > > > > @quiz_attributes = (params[:quiz]) render_wizard @quizend
            > > > >
            > > > > ## form pertanyaan.html.erb
            > > > > <%= form_for @quiz, :url => wizard_path do |f| %> <fieldset> <%=
            > > > > f.fields_for :pertanyaans do |builder| %> <%= render
            > > > > "form_pertanyaans", :f => builder %> <% end %> </fieldset> <div
            > > > > class="actions"> <%= f.submit ( "Simpan" ), :class => "btn
            > > > > btn-inverse btn-medium" %> </div> <% end %>
            > > > >
            > > > > Kesalahan muncul pada step dua <http://i.cubeupload.com/IFc9RU.png>
            > > > > ketika mau simpan,
            > > > > Muncul pesan error seperti ini
            > > > > ArgumentError in QuizStepsController#updateUnknown key:
            > > > > pertanyaans_attributes
            > > > > Rails.root: C:/Sites/quiz
            > > > > Application Trace
            > > > > <http://demosma.lvh.me:3000/sekolah/ujian_steps/pertanyaan#> |
            > > > > Framework Trace
            > > > > <http://demosma.lvh.me:3000/sekolah/ujian_steps/pertanyaan#> | Full
            > > > > Trace <http://demosma.lvh.me:3000/sekolah/ujian_steps/pertanyaan#>
            > > > > app/controllers/quiz_steps_controller.rb:24:in `update'
            > > > >
            > > > > Jujur muter-muter logikanya ga dapet, maklum baru belajar
            > > > > sedikit-sedikit.
            > > > > Mohon bantuannya :)
            > > > > Terima kasih
            > > > >
            > > > > [Non-text portions of this message have been removed]
            > > > >
            > > > >
            > > > >
            > > >
            > > >
            > > >
            > > > --
            > > > *"To accomplish great things, we must not only act, but also dream; not
            > > > only plan, but also believe."* *~ Anatole France*
            > >
            > > >
            > > >
            > > > [Non-text portions of this message have been removed]
            > > >
            > >
            > >
            > >
            >
            >
            >
            > --
            > *"To accomplish great things, we must not only act, but also dream; not
            > only plan, but also believe."* *~ Anatole France*
            >
            >
            > [Non-text portions of this message have been removed]
            >
          Your message has been successfully submitted and would be delivered to recipients shortly.