当前位置:  开发笔记 > 后端 > 正文

在Ruby on Rails中创建一个列表或对象数组

如何解决《在RubyonRails中创建一个列表或对象数组》经验,为你挑选了0个好方法。

我试图让我正在构建的Web应用程序的用户可以创建他们创建的对象列表.

例如,用户有一个对象列表,例如杂货,可以是从苹果到橙子到弹出式挞的任何东西.

然后,我希望我可以返回用户添加到数据库中的所有杂货,并通过选择应该在他们的购物清单上的那些来创建列表.

优选地,这将是一种样式,使得他们可以单击他们想要的复选框,然后单击"保存"以创建新列表.

我已经研究过belongs_to,has_many关系并尝试创建一个包含许多杂货的列表对象,但我无法弄清楚这个策略的形式部分.我很感激任何/所有建议.谢谢!

这是我目前的代码,我最初省略它,因为我不认为我在正确的道路上,但这里无论如何只是以防万一/提供更多的上下文:

杂货店型号:

class Item < ApplicationRecord
    belongs_to :list, optional: true
end

列表模型

class List < ApplicationRecord
    has_many :items
end

List控制器

class ListsController < ApplicationController
  before_action :authenticate_user!
  layout 'backend'

  def index
    @lists = List.where(user_id: current_user.id)
  end

  def show
  end

  def new
    @list = List.new
  end

  def edit
  end

  def create
    @list = List.new(list_params)
    @list.user = current_user

    if @list.save
      redirect_to list_path(@list.id), notice: 'List was successfully created.'
    else
      redirect_to list_path(@list.id), notice: 'List was not created.'
    end
  end

  def update
    respond_to do |format|
      if @list.update(list_params)
        format.html { redirect_to @list, notice: 'List was successfully updated.' }
        format.json { render :show, status: :ok, location: @list }
      else
        format.html { render :edit }
        format.json { render json: @list.errors, status: :unprocessable_entity }
      end
    end
  end

  def destroy
    @list.destroy
    respond_to do |format|
      format.html { redirect_to lists_url, notice: 'List was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Never trust parameters from the scary internet, only allow the white list through.
    def list_params
      params.require(:list).permit(:name, :items)
    end
end

不确定如何处理表单 - 正在尝试http://apidock.com/rails/ActionView/Helpers/FormHelper/check_box

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有