0

是否可以将 redis 与 Padrino 一起使用,与 postgresql 或 mysql 生成器相同。

4

1 回答 1

1

看看Ohm。它是 Padrino 支持的 ORM,类似于 Active Model,但使用 Redis 作为它的数据存储。

如果您希望将“Padrino Admin”与 Ohm 一起使用,您可能希望从 master 构建 Padrino 或等待 0.11.2 。

padrino g project my_app --orm ohm
cd my_app
bundle
padrino g model Post title:string body:text
padrino g admin
padrino g admin_page post
padrino rake db:seed
padrino start

编辑:这是将 Ohm 作为 ORM 的集合添加到 Padrino 管理页面的一种方法。

打开您生成admin/views/presentations/index.erb的并在表格中显示您的收藏。

<td class=list-column> 
  <% presentation.slides.each do |slide| %>
     <div><%= slide.name %></div>
  <% end %>
</td>

打开admin/views/presentations/_form.erb并为您的收藏添加一个check_box_group

<fieldset class='control-group <%= error ? 'has-error' : ''%>'>
  <%= f.label :slides, :class => 'control-label' %>
  <div class='controls'>
    <%= f.check_box_group(:slide_ids, collection: @slides, selected: @presentation.slides, fields: [:name, :id]) %>
  </div>
</fieldset>

从那里您可以更新您的 Presentations 控制器来处理params[:presentation][:slide_ids],或者您将以下方法添加到您的 Presentation 模型中。

def slide_ids=(ids)
  if valid? && save
    slides.key.del if slides.key.exists?
    slides.key.sadd(ids)
  end
end

这将用新的一组幻灯片替换当前的一组幻灯片。

于 2013-04-17T16:13:42.330 回答