Вот небольшой фрагмент кода, который поможет вам начать, основываясь на том, что, я думаю, вам нужно из того, что вы сказали. Я надеюсь, что это полезно.
Для поискового бита вы могли бы сделать что-то подобное в представлении индекса:
<%= form_for User.new, :url => "search" do |f| %>
<%= f.label :name %>
<%- f.text_field :name %>
<%- end %>
В вашем контроллере:
def search
q = params[:user][:name]
@users = User.find(:all, :conditions => ["name LIKE %?%",q])
end
и в поиске:
<%-@users.each do |user| %>
Name: <%=user.name %>
<%- user.achievements.each do |achievement| %>
<%= achievement.name %>
<%- end %>
<%- end %>
Конечно, вам необходимо убедиться, что пользователи и модели достижений правильно связаны:
class User << ActiveRecord::Base
has_many :achievements
end