كيف يمكنني تحرير سجلات متعددة في شكل روبي واحد على شكل القضبان؟

StackOverflow https://stackoverflow.com/questions/963343

سؤال

أقدم تطبيق قائمة بسيطة لتعليم نفسي روبي على القضبان، ومع ذلك فقد أجري مشكلة. لدي نموذج بسيط يسرد العناصر المهمة مع خانة الاختيار إلى يسارها، وزر "تحديث" في الأسفل، وكذلك:

] اغسل الأطباق
] أخرج القمامة
] السيطرة على العالم
( تحديث )

عنصر To-Do هو سجل منفصل في قاعدة البيانات مع حقل منطقي "مكتمل". أريد أن يقدم النموذج قائمة من معرفات العناصر المحددة إلى إجراء يمكن أن أقوم بتعيين حقل "مكتمل" لكل عنصر إلى True، مما سيقوم بإخفائها من العرض.

أعرف كيفية تقديم نموذج يشير إلى نماذج متعددة، ولكن ليس من المراجع التي يشير إلى سجلات متعددة من نفس النموذج. أي نصائح؟

شكرا!

هل كانت مفيدة؟

المحلول

رايلاست هو صديقك!

http://railscasts.com/episodes/52-update-through-Checkses.

انها حقا بسيطة:

# routes.rb
map.resources :tasks, :collection => { :complete => :put }

# tasks_controller.rb
def complete
  Task.update_all(["completed_at=?", Time.now], :id => params[:task_ids])
end

# views\tasks\complete.html.erb
<% form_tag complete_tasks_path, :method => :put do %>
  <ul>
  <% for task in @incomplete_tasks %>
    <li>
      <%= check_box_tag "task_ids[]", task.id %>
      <%= task.name %>
    </li>
  <% end %>
  </ul>
  <%= submit_tag "Mark as Complete" %>
<% end %>

نصائح أخرى

رائع. هذا هو بعض التوقيت. هذا البند مباشرة قبل هذا السؤال في قارئ RSS الخاص بي هو الأحدث Railscast. من ريان بيتس ويبدو أن تغطي بالضبط ما تسأله.

لماذا لا تستخدم وظيفة عن بعد لتحديث قاعدة البيانات عند فحص عنصر، والتخلص من زر التحديث تماما؟

نظرا لأنك يمكنك تضمين المعرف لكل سجل عند إنشاء النموذج، فسترغب في التكرار وحدة التحكم من خلال العناصر الموجودة فيك، ثم ابحث عن كل سجلات وتحديثها وفقا لذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top