2010-08-16 31 views
10

Có một vài tùy chọn để chỉnh sửa mô hình tại chỗ trong khi ở trang Hiển thị, tức là không cần tải biểu mẫu trong trang Chỉnh sửa. Ví dụ: xem http://www.ruby-toolbox.com/categories/rails_in_place_editing.html.chỉnh sửa tại chỗ trong Rails 3

Có ai có kinh nghiệm sử dụng bất kỳ tùy chọn nào trong số này (hoặc các tùy chọn khác) trong Rails 3 không? Bất kỳ gợi ý hay lời khuyên nào?

Trong trường hợp của tôi, tôi có một biểu mẫu khá dài bao gồm một số lượng mục thay đổi. Từ quan điểm khả năng sử dụng, bạn nên chỉnh sửa văn bản trong các mục này trong cùng một trang, thay vì cần nút Chỉnh sửa cho mỗi trang gửi người dùng đến trang chỉnh sửa cho mục cụ thể.

Trả lời

1

Chắc chắn điều đó hợp lý với tôi. Tôi làm nó suốt.

Ví dụ: tôi đang làm việc trên một biểu mẫu mô hình lồng nhau phức tạp polymorophic và nó chỉ có hai chế độ xem. Một chỉ mục và một phần để tự động thêm các thuộc tính vào nó.

Nếu bạn biết AJAX, điều đó thực sự có thể giúp giao diện người dùng của bạn ở chỗ người dùng của bạn thậm chí sẽ không phải nhấp vào nút lưu.

Để hoàn thành tối thiểu điều này. Thiết lập một index.html.erb với biểu mẫu của bạn bên trong nó.

Trong điều khiển của bạn, bạn có thể chỉ định hành động của bạn như sau:

def update 
    @quick_fact = @organization.quick_facts.find(params[:id]) 
    if @quick_fact.update_attributes(params[:tab]) 
    flash[:notice] = 'Text Tab was successfully updated.' 
    redirect_to quick_facts_organization_path(@organization) 
    else 
    render :action => "index", :id => params[:id] 
end 
end 
13

xuất sắc câu hỏi!

  • in_place_editing là bởi dhh, Rails creator. Nó được duy trì bởi đội ngũ cốt lõi của Rails. Vì vậy, nó chắc chắn nên được xem xét.

  • Hobo là một khung lớn có tính năng chỉnh sửa và đặt trước tại chỗ. Đó là một gói trơn tru nhưng có thể nhiều hơn những gì bạn muốn hoặc cần.

Cập nhật cho Rails 3 Ryan của Railscasts khuyến cáo các Best in Place đá quý. Xem Railscast với mã mẫu và biết thêm thông tin.

+6

Lưu ý rằng 'in_place_editing' dựa trên Scriptaculous. Rails 3.1 và lên sử dụng jQuery bây giờ, vì vậy đây không phải là một giải pháp out-of-the-box nữa. – Ben

+2

@ Ben - Tôi đã cập nhật câu trả lời. –

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