0
是否可以使用redis和Padrino相同的postgresql或mysql生成器。如何使用Redis和Padrino
是否可以使用redis和Padrino相同的postgresql或mysql生成器。如何使用Redis和Padrino
看看Ohm
。它是由Padrino支持的ORM,與Active Model類似,但使用Redis作爲數據存儲。
如果您想在歐姆中使用'Padrino Admin',您可能需要build Padrino from master or wait for 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
編輯:這是一種向Padmino管理頁添加一個集合作爲ORM的方法。
打開您生成的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>
從那裏,你可以更新您的演示控制器來處理params[:presentation][:slide_ids]
或添加下面的方法來將您的模型。
def slide_ids=(ids)
if valid? && save
slides.key.del if slides.key.exists?
slides.key.sadd(ids)
end
end
這將用新設置替換當前的一組幻燈片。
datamapper會比Ohm更好地支持redis嗎?我無法想出一種方法來創建一對多或多對多的關係,並將其應用於管理視圖中?任何線索如何做到這一點? – zotherstupidguy
目前'Ohm :: Model.attributes'只返回屬性而不返回關聯。 [Padrino Admin Generator如何處理Ohm和DataMapper的列](https://github.com/padrino/padrino-framework/blob/master/padrino-admin/lib/padrino-admin/generators/orm.rb #L58)。可以在'Ohm :: Model.attributes'中注入'Ohm :: Model.collections'並處理[管理頁面模板]中的特殊情況(https://github.com/padrino/padrino-framework/ BLOB /主/ padrino管理員/ lib目錄/ padrino管理員/發電機/模板/ HAML /頁/ index.haml.tt#L44)。 – lastcanal
我實際上並不認爲DM將關聯應用於管理視圖。從幾年前看看這個[un-merged pull request](https://github.com/devrandom/padrino-framework/commit/78478d9a373eb16c08373158af22ab80387fe496)。 – lastcanal