2010-10-30 33 views
7

Hãy để tôi nói trước bằng cách nói rằng tôi là một noob để Rails và StackOverflow vì vậy hãy dễ dàng với tôi. Tôi đang sử dụng Rails 2.3.8 với sqlite3 trên hộp dev của tôi.Chọn tùy chọn nhắc sẽ biến mất khi xác nhận không thành công trong Rails

tôi đã tạo ra một kéo xuống chọn trong một hình thức sử dụng như sau:

<%= select("communication", "gig_id", { "Add New Gig" => "new"}, {:prompt => "-- Select Gig --"}, :onchange => "toggle(this, 'gigInfo')") %> 

Tuy nhiên, khi một cái gì đó khác theo hình thức không xác nhận và "mới" được tái rendered, dấu nhắc của tôi biến mất và tùy chọn duy nhất còn lại là tùy chọn "Thêm giao diện mới". Đây là trường hợp với tất cả các hình thức của tôi và tôi dường như không thể tìm thấy bất kỳ câu trả lời là tại sao.

Bộ điều khiển của tôi sử dụng giàn giáo cơ bản nên tôi sắp bị mất. Mọi sự trợ giúp sẽ rất được trân trọng.

+0

sử dụng: dấu nhắc trong trình trợ giúp lựa chọn của bạn biến mất, nhưng sử dụng: include_blank thì không. Chuyển những người ra và dấu nhắc của tôi không biến mất nữa. – Erick

Trả lời

12

Quan sát của bạn là chính xác và bạn đã quan sát thấy rằng :include_blank vẫn còn ngay cả khi :prompt không.

Bạn có thể đạt được kết quả bạn muốn bằng cách đặt :include_blank thành chuỗi bạn đang sử dụng để nhắc (nó không cần phải là boolean).

:prompt, có vẻ như, chỉ xuất hiện khi không có giá trị cho Rails để cung cấp trường đã cho. Khi ứng dụng của bạn hiển thị lại chế độ xem new, có giá trị để cung cấp trường đó vì nó đã tạo một phiên bản của mô hình Giao tiếp của bạn. (Nó không thể lưu ví dụ đó, nhưng có vẻ như trường hợp đó có bộ trường gig_id.)

Các vấn đề liên quan