#ruby-on-rails #sql-server-2005 #ruby-on-rails-3
#ruby-on-rails #sql-server-2005 #ruby-on-rails-3
Вопрос:
я новичок в rails. как я могу получить значение из моего 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
]
}
}
ПОМОГИТЕ! спасибо .. 🙂
Ответ №1:
Я бы использовал сеанс для сохранения между несколькими шагами. Также ознакомьтесь с плагинами / драгоценными камнями мастера форм, которые также могут выполнить эту работу за вас.
https://github.com/adkron/actsaswizard
Проверьте также этот скринкаст, который может вам помочь:http://railscasts.com/episodes/217-multistep-forms
Комментарии:
1. я думаю, что это неприменимо для моего приложения .. потому что я тоже использую корзину. я использую более одной модели. 🙁
2. затем сохраните его в объекте (cart) или около того? Я все равно сделал бы это с помощью сессии / специальной модели для этого