2009-01-15 18 views
7

Ruby on Rails kullanma ActiveRecord nesnesi oluşturmadan önce bir onay sayfası istiyorum. Kullanıcı, göndermeden önce oluşturdukları öğenin bir önizlemesini görecek veRuby on Rails: ActiveRecord Nesne Oluşturma için Onay Sayfası

Ortak bir kalıp;

  • Kullanıcı ziyaret/giriş/
  • Kullanıcı yeni ayrıntıları girer ve tıklama Kullanıcı girişi/yönlendirilir
  • /giriş görüntüler ve tıklama göndermek veya düzenleme
  • Nesne kaydedilir hataları düzeltmek için hangi onaylamak teslim

Nasıl uygularsınız?

cevap

0

Bunu nasıl yapacağımı bilmiyorum (RoR benim için yenidir) ancak/new// işlemi için yeni eylemi belirtebilir ve sonra oluşturmayı çağırır.

Doğru? Her Gönderi/göndermek w/

3

Birkaç seçenek

1- mağaza size onayla sayfasını çarpana kadar oturumunda oluşturmak istediğiniz nesne, o zaman sadece nesnenin etrafında onu

2- geçiş kurtarmak yeni -> ayrıntılar -> onaylamak için

Muhtemelen 2 ile giderim, çünkü oturum ile durumu kaydetmeye eğilimli değilim.

5

Modelinize bir sanal onay özelliği ekleyerek bu sorunu çözmek için başka bir seçenek. Doğrulama onay sahada başarısız olur çünkü


class MyRecord < ActiveRecord::Base 
    attr_accessor :confirmation 
    validates_acceptance_of :confirmation, :on => :create 
end 

Şimdi, yeni bir nesne doğru tasarruf olmaz: Bu şekilde, bunun için ayrı bir eylem oluşturmak için gerek yoktur.


<% form_for(@my_record) do |form| %> 
    ... 
    <%= form.check_box :confirmation %> Really create this record. 
    <%= submit_tag('Confirm') %> 
<% end %> 
5

Muhtemelen o model için routes.rb dosyaya bir "önizleme" eylemi eklersiniz:

map.resource :objects, :new => { :preview => :post } 

Bu preview alacağı Böyle bu durumu ve mevcut bir şeyi algılayabilir rotayı işaret eden preview_object_url POST. Sen aslında böyle, senin create eylem yaptığınız aynı şekilde içinde Object oluşturmak gerekir:

def preview 
    @object = Object.new(params[:object]) 
end 

Bu sayfa daha sonra Object yaratacak create eylem, POST olacaktır. İleriye doğru oldukça güzel.

http://api.rubyonrails.org/classes/ActionController/Resources.html