簡體   English   中英

ruby on rails使用數組進行模型驗證

[英]ruby on rails Model validations with arrays

我有一系列用戶需要完成的任務,
它看起來像這樣:

 <% form_for(@task) do |f| %>
 <%= error_messages_for 'task' %>
  <ul>
     <li><label>Task Name</label> <input type=text name="task_list[]"> </li>
     <li><label>Task Name</label> <input type=text name="task_list[]"> </li>
     <li><label>Task Name</label> <input type=text name="task_list[]"> </li>
  </ul>                                 
 <% end %>

現在,我需要執行驗證, 以使列表中的一個字段不為空 當只有一個字段時,我曾經在模型中執行如下驗證:

validates_presence_of:name,:message任務名稱不能為空

但是現在當我使用數組時,我不知道如何執行它
我很樂意為此問題提供一些指導

謝謝

嘗試這個:

class TasksController < ApplicationController
  def create
    unless params[:task_list].empty
      @task_list = returning Array.new do |task_list|
        params[:task_list].each do |task_name|
          task = Task.new
          task_list << task if task.valid?
        end
      end
      if @task_list.empty?
        # do whatever should be done if no valid task was found
      else
        # do whatever should be done if at least on task was valid
        # i.e. saving each task:
        @task_list.each(&:save)
      end
    end
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM