使用Datamapper和Sinatra进行简单搜索
我对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
============ layout.erb
最基本的搜索查询可能是这样的:
@events = Event.all(:title.like => "%#{params[:query]}%") | Event.all(:category.like => "%#{params[:query]}%")
- Sinatra将params 与字符串类型匹配,需要额外的转换才能匹配数据库ID?
- 如何使用DataMapper仅获取模型的指定字段?
- Windows上是否支持Datamapper的dm_mysql_adapter gem?
- 有没有使用游标或智能提取的Ruby ORM?
- 无法在Windows上加载此类文件 – do_sqlite3 / 2.0 / do_sqlite3
- 自动记录DataMapper查询
- 将Datamapper与现有的rails应用程序一起使用
- 未定义的方法auto_upgrade! 将Sinatra / DataMapper应用程序推送到Heroku时
- DataMapper因关系而无法删除记录