【问题标题】:How best to structure a page on which instances of a single model can be created or updated如何最好地构建可以创建或更新单个模型实例的页面
【发布时间】:2012-05-17 13:31:35
【问题描述】:

我正在寻找有关构建以下内容的一些建议。

我想显示一个页面。可以创建或更新 3 个事件。每个事件都有一个特定的名称(打开、关闭、开始)

我希望用户能够创建 1 个或全部 3 个事件。

返回相同的 url 后,我希望显示创建的事件以供用户更新,而未创建的事件可用于创建。

例如。

用户查看事件/新事件

创建事件 - (称为打开)

关闭和启动无操作。

返回事件/新事件时

显示事件(打开)值。待更新。

可以新建事件关闭和启动。

您将如何构建它?我玩弄了实现 find_or_create 方法的想法。这是否应该放在控制器的创建操作中,以替换 .create(params[:e.g])?

非常感谢

罗斯

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 model-view-controller


    【解决方案1】:

    您可以在任何操作中执行此操作,看起来您正在尝试将 shownew 操作组合为一个操作。我会在一些自定义操作中处理它,然后操纵视图以显示带有指向 eidt 的链接的对象的详细信息,以防有人试图编辑对象,如果对象不存在,那么只显示创建对象的表单而不是显示详细信息和编辑链接。

    【讨论】:

      【解决方案2】:

      在您的控制器中 - EventsController:

      class EventsController < ApplicationController
      
        def new
          @event = Event.new
          @events_created = Event.all # to show the events created
      

      在您看来 - events/new.html.haml:

      - @events_created.each do |created_event|
        %p= "Event: " created_event.title
      
      = form_for @event do |f|
        =.... # new event creation form
      

      【讨论】:

        猜你喜欢
        • 2013-11-25
        • 2023-02-11
        • 1970-01-01
        • 2013-02-11
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 2012-03-18
        • 2021-01-14
        相关资源
        最近更新 更多