2011-05-12 42 views
0

即時通訊欄。我怎麼能從我的datepicker得到的值傳遞給另一個方法,所以我可以運行我的查詢。我如何通過並從datepicker獲取值?

這裏是我的控制器:

def index 
    redirect_to(:action => 'step1') 
end 

def step1 
    @checkin = params[:checkin] 
    @checkout = params[:checkout] 
end 

def step2 
    checkin = @checkin 
    checkout = @checkout 
    @amenities = Amenity.available(checkin, checkout) 
end 

我看來

<%= label_tag @checkin, "From:" %> 
    <%= text_field_tag "checkin", @checkin %> 
    <%= label_tag @checkout, "To:" %> 
    <%= text_field_tag "checkout", @checkout %> 

    <%= button_to "Show Availability", :action => "step2" %> 

和我的模型,其中我跑我的查詢:

scope :available, lambda { 
    |checkin, checkout| { 
     :select => 'amenities.*', 
     :order => 'id', 
     :conditions => [" 
     amenities.id NOT IN 
     (
      SELECT aa.id from amenities aa, amenity_list al WHERE 
      amenities.id = al.amenities_id AND 
      (
      (? BETWEEN al.checkin AND al.checkout) OR 
      (? BETWEEN al.checkin AND al.checkout) 
     ) 
     )", 
     checkin, 
     checkout 
     ] 
    } 
    } 

幫助!謝謝.. :)

回答

0

我會使用會話來存儲幾個步驟之間。 也檢查出表單嚮導插件/寶石,這也可以爲你做這項工作。

https://github.com/adkron/actsaswizard

CheckOut的也是這個截屏,它可以幫助您可能是: http://railscasts.com/episodes/217-multistep-forms

+0

確定..謝謝.. :) – Crisgine 2011-05-12 02:29:50

+0

我因爲使用​​即時通訊車覺得這並不適用於我的應用程序..太。即時通訊使用多個模型。 :( – Crisgine 2011-05-12 09:39:42

+0

然後將它存儲在一個對象(購物車)左右?我仍然會做一個會話/特殊模型 – radosch 2011-05-15 01:35:31