我试图让我正在构建的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