我正在创建一个跟踪用户和成就的应用程序(想想,xbox live等).这些表通过连接表链接.我希望在我的索引上有一个搜索表单,用户可以输入用户名,新页面会加载用户已获得的所有成就列表.我不完全确定如何在索引上设置此搜索表单,以实际搜索用户表并在新页面上返回结果.任何帮助将不胜感激.如果您需要更多信息,我会很乐意提供.
这里有一些骷髅代码可以帮助您从我所说的内容开始.我希望这很有用.
对于搜索位,您可以在索引视图中执行以下操作:
<%= form_for User.new, :url => "search" do |f| %>
<%= f.label :name %>
<%- f.text_field :name %>
<%- end %>
Run Code Online (Sandbox Code Playgroud)
在你的控制器中:
def search
q = params[:user][:name]
@users = User.find(:all, :conditions => ["name LIKE %?%",q])
end
Run Code Online (Sandbox Code Playgroud)
并在您的搜索视图中:
<%-@users.each do |user| %>
Name: <%=user.name %>
<%- user.achievements.each do |achievement| %>
<%= achievement.name %>
<%- end %>
<%- end %>
Run Code Online (Sandbox Code Playgroud)
当然,您需要确保正确链接用户和成就模型:
class User << ActiveRecord::Base
has_many :achievements
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10583 次 |
最近记录: |