MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Rails + MongoMapper + EmbeddedDocument помощ за формуляра

Ето основния подход, който възприех в едно от моите приложения. Проблемът има много отговори - проблемът е документ, отговорът е вграден документ. Можете да използвате връзката „добавяне на отговор“, за да генерирате друго поле за отговор, и връзката „премахване“, за да изтриете едно.

_form.html.erb:

<% form_for @problem do |f| %>
  <%= f.error_messages %>

  <p>
    <%= f.label :content %><br />
    <%= f.text_area :content, :size => '50x7' %>
  </p>

  ...etc...

  <%= add_answer_link "(add answer)" %>
  <div id="answers">
    <%= render :partial => 'answer', :collection => @problem.answers %>
  </div>

  <p><%= f.submit "Submit" %></p>
<% end %>

_answer.html.erb:

<div class="answer">
  <% fields_for 'problem[answers]', answer, :index => nil do |f| -%>
    <%= f.label :content, "Answer #{answer.id}:" %>
    <%= f.text_field :content, :size => 50 %>
    <%= link_to_function "(remove)", "$(this).up('.answer').remove()" %>
  <% end -%>
</div>

Problems_helper.rb

module ProblemsHelper
  def add_answer_link(name)
    link_to_function name do |page|
      page.insert_html :bottom, "answers", :partial => 'answer', :object => Answer.new
    end
  end
end

Изрязах няколко незначителни части от реализацията, но това би трябвало да работи.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да управлявате потребители и удостоверяване в MongoDB

  2. групирайте по дати в mongodb

  3. MongoDB - Отказано разрешение за сокет:/tmp/mongodb-27017.sock

  4. MongoDB Ruby Driver 2.5.x Проблеми с чувствителността на малки и големи букви с имена на хостове в набори реплики

  5. Безопасно ли е да изтриете дневника на mongodb?