Rails Search Form

后端 未结 4 592
北海茫月
北海茫月 2021-02-01 00:05

I\'m creating an application that tracks users and achievements (think, xbox live, etc.) These tables are linked via a join table. I would like to have a search form on my inde

相关标签:
4条回答
  • 2021-02-01 00:21

    Here's a bit of skeleton code to get you started based off what I think you need from what you have said. I hope this is useful.

    For the search bit you could do something like this in your index view:

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

    In your controller:

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

    and in your search view:

    <%-@users.each do |user| %>
      Name: <%=user.name %>
    
      <%- user.achievements.each do |achievement| %>
        <%= achievement.name %>
      <%- end %>
    <%- end %>
    

    You would, of course, need to ensure the users and achievement models are correctly linked:

    class User << ActiveRecord::Base
      has_many :achievements
    
    end
    
    0 讨论(0)
  • 2021-02-01 00:39

    Here is an application based on searchlogic is very useful and you can search by whatever you want

       https://github.com/railscasts/176-searchlogic
    
    0 讨论(0)
  • 2021-02-01 00:39

    You may want to check out the Ransack gem. https://github.com/activerecord-hackery/ransack

    0 讨论(0)
  • 2021-02-01 00:44

    There are plenty of tutorials and things about this e.g.:

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

    Look the thing is every basic explanation in Rails3 starting with the Initial Tutorial provided by them explains you how to setup a new Controller/Model. The example was only one of thousands explaining the same problem.

    It is a very broad range of different things you can do to achieve this. Basically you have to put some code in the controller:

    1. which handles the search (including the activerecord stuff or whichever technique you use to access your model)
    2. which sets some variables necessary for the search form

    Setup two routes etc... Its to broad and completely covered even by the basic official rails3 tutorial.

    0 讨论(0)
提交回复
热议问题