ruby - 使用 Datamapper 和 Sinatra 进行简单搜索

标签 ruby search sinatra datamapper

总体而言,我对 Ruby 和后端开发还比较陌生。话虽如此,我正在尝试创建一个简单的搜索表单。我使用 Sinatra 作为框架,使用 Datamapper 作为我的 ORM。做这个的最好方式是什么?下面是我的架构,我希望搜索操作同时搜索磁贴和类别。

require 'sinatra'
require 'datamapper'


DataMapper.setup(:default, "sqlite3://#{Dir.pwd}/cal.db")

class Event
  include DataMapper::Resource

  property :id,               Serial
  property :title,            String
  property :text,             Text
  property :contact_name,     String
  property :contact_email,    String
  property :location,         String
  property :event_start_time, String
  property :event_end_time,   String
  property :category,         String
  property :created_at,       DateTime
  property :approved,         Boolean, :default => false

end

DataMapper.auto_upgrade!


post '/search'  do
   @results = Event.all
   erb :layout
end

============ 布局.erb

<form action="/search" method="post">
  <input type="text" name="query"/><br />   
  <input type="submit" />
</form>

<% if @results %>
    <table>
        <%@results.each do |r|%>
        <tr valign="top">
            <td><%=r.title%></td>
        </tr>
        <%end%>
    </table>
<% end %>

最佳答案

最基本的搜索查询可能是这样的:

@events = Event.all(:title.like => "%#{params[:query]}%") | Event.all(:category.like => "%#{params[:query]}%")

关于ruby - 使用 Datamapper 和 Sinatra 进行简单搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5747670/

相关文章:

python - 基于多个条件对多维数组进行排序的算法

ruby - Sinatra 将参数作为散列传递给函数

arrays - Ruby 数组中的动态交集

ruby-on-rails - 如何删除开始转发的消息 : part of an email body in a rails 3 app

ruby-on-rails - 记录的哈希表示中的嵌套属性

java - 我可以改进 XWiki 搜索结果以包含关键字匹配吗?

php - 使用 PHP 显示结果时在搜索框中显示搜索条件

Sinatra 中的 css.erb 文件

MySql from Lua 运行时 undefined symbol 问题

ruby-on-rails - 简单的 Rails 注释添加额外的空白注释