Ứng dụng của tôi có một hộp chọn để người dùng chọn "địa điểm". Hộp chọn này, như bạn mong đợi, trong một biểu mẫu. Tôi cũng có một hành động ở đâu đó trên trang tạo địa điểm mới thông qua AJAX. Sau khi địa điểm mới được tạo, tôi muốn cập nhật hộp chọn địa điểm để phản ánh điều này.Có thể đặt một phần tử dạng đường ray chỉ trong một phần không?
Giải pháp của tôi là đặt hộp chọn một phần và hiển thị một phần từ hành động tạo trong bộ điều khiển.
<div id="venue_select" style="clear: both;">
<%= render :partial => 'venue/venue_select_box' %>
</div>
Các chàng một phần như thế này:
<%= f.collection_select :venue_id, @user_venues, :id, :name, :prompt => 'Select a venue' %>
trong đó f là tài liệu tham khảo dạng:
<% form_for :shows do |f| %>
Vấn đề là f là undefined trong một phần, vì vậy tôi nhận được một lỗi . Một giải pháp sẽ bao gồm toàn bộ biểu mẫu, nhưng tôi cảm thấy như vậy không cần thiết vì tôi không cập nhật toàn bộ biểu mẫu. Bất kỳ ý tưởng về cách đi về điều này?
Điều này hoạt động từ chế độ xem, nhưng tôi cũng sẽ cần hiển thị từ bộ điều khiển. Hộp chọn sẽ lấy dữ liệu có thể được cập nhật qua AJAX, và do đó yêu cầu cập nhật đó sẽ yêu cầu bộ điều khiển hiển thị lại phần ... và sau đó "f" lại không xác định – Tony
Ah, xin lỗi, tôi không thấy nhu cầu AJAX trong câu hỏi của bạn. Có lẽ tôi nên đọc kỹ hơn một chút vào lần sau ... Tôi vừa cập nhật câu trả lời của tôi với một thứ có thể giúp bạn. – vrish88
Bạn sẽ làm như thế nào với Rails 3/4 và UJS? Vấn đề tôi đang gặp phải là bạn không thể lấy bất kỳ phần nào của biểu mẫu mà không đặt form_for bên trong một thẻ in, sau đó in toàn bộ biểu mẫu. –