2011-07-04 34 views
5

Tôi đang tạo một ứng dụng theo dõi người dùng và thành tích (suy nghĩ, xbox trực tiếp, v.v.) Các bảng này được liên kết thông qua bảng kết nối. Tôi muốn có một mẫu tìm kiếm trên chỉ mục của mình cho phép người dùng nhập vào tên người dùng và một trang mới được tải cùng với danh sách tất cả thành tích mà người dùng đã kiếm được. Tôi không hoàn toàn chắc chắn làm thế nào để thiết lập hình thức tìm kiếm này, trên chỉ mục, để thực sự tìm kiếm bảng người dùng và trả về kết quả trên một trang mới. Mọi sự trợ giúp sẽ rất được trân trọng. Nếu bạn cần thêm thông tin thì tôi sẽ vui lòng cung cấp.Mẫu Tìm kiếm Đường ray

Trả lời

5

Dưới đây là một chút mã khung để giúp bạn bắt đầu dựa trên những gì tôi nghĩ bạn cần từ những gì bạn đã nói. Tôi hy vọng điều này rất hữu ích.

Đối với các bit tìm kiếm bạn có thể làm một cái gì đó như thế này theo quan điểm chỉ số của bạn:

<%= form_for User.new, :url => "search" do |f| %> 
    <%= f.label :name %> 
    <%- f.text_field :name %> 
<%- end %> 

Trong điều khiển của bạn:

def search 
    q = params[:user][:name] 
    @users = User.find(:all, :conditions => ["name LIKE %?%",q]) 
end 

và theo quan điểm tìm kiếm của bạn:

<%[email protected] do |user| %> 
    Name: <%=user.name %> 

    <%- user.achievements.each do |achievement| %> 
    <%= achievement.name %> 
    <%- end %> 
<%- end %> 

Tất nhiên, bạn cần đảm bảo rằng người dùng và mô hình thành tích được liên kết chính xác:

class User << ActiveRecord::Base 
    has_many :achievements 

end 
2

Có rất nhiều hướng dẫn và điều về ví dụ này:

http://blog.devinterface.com/2010/05/how-to-model-a-custom-search-form-in-rails/

Nhìn vấn đề là mỗi lời giải thích cơ bản trong Rails3 bắt đầu với Hướng dẫn ban đầu được cung cấp bởi chúng giải thích bạn làm thế nào để thiết lập một bộ điều khiển mới/Mô hình. Ví dụ chỉ là một trong hàng nghìn giải thích cùng một vấn đề.

Đây là một phạm vi rất rộng các thứ khác nhau mà bạn có thể làm để đạt được điều này. Về cơ bản bạn cần phải đặt một số mã trong bộ điều khiển:

  1. mà xử lý việc tìm kiếm (bao gồm cả những thứ activerecord hoặc kỹ thuật mà bạn sử dụng để truy cập vào mô hình của bạn nào)
  2. mà đặt ra một số biến cần thiết cho các hình thức tìm kiếm

Thiết lập hai tuyến đường, v.v ... của nó đến phạm vi rộng và hoàn toàn được bao phủ bởi hướng dẫn chính thức cơ bản của rails3.

+1

Cảm ơn, nhưng hướng dẫn đó không đưa ra một lời giải thích rõ ràng, ít nhất là đối với tôi và điều đó đòi hỏi bạn phải sử dụng formtastic. Cảm ơn bạn đã tìm kiếm google nhưng nếu nó có thể được chia nhỏ dễ dàng hơn một chút cho tôi để hiểu, một lần nữa, tôi sẽ đánh giá cao nó. – SalsaSalsa

+0

có bất kỳ bản dịch nào của liên kết đó không? –

+0

@AliQanavatian bạn chỉ cần nhấp vào phía bên phải tiếng Anh là Ngôn ngữ – fyr

0

Dưới đây là một ứng dụng dựa trên searchlogic là rất hữu ích và bạn có thể tìm kiếm theo những gì bạn muốn

https://github.com/railscasts/176-searchlogic 
Các vấn đề liên quan