gpt4 book ai didi

ruby-on-rails - 使用单元格新建和创建操作

转载 作者:数据小太阳 更新时间:2023-10-29 08:03:49 24 4
gpt4 key购买 nike

我正在尝试实现 Cells Rails 4 项目中的 gem。

我对为模型渲染表单 Cell 有点困惑。我在 Google 上环顾四周,但似乎找不到涵盖此内容的教程。大多数教程仅涵盖一个 :show Cell。

  1. 实现 Cell Form 是否可能/良好做法?
  2. 您如何着手创建和渲染此 Cell? (我假设这将类似于 :show Cell)
  3. 进入表单提交流程的单元格在哪里?参数是否仍然发布到 Controller 或 Cell?我在哪里进行表单提交验证?

任何人都可以帮助我澄清或指出有关此问题的教程吗?

最佳答案

  1. “最佳实践”几乎算不上什么。但我认为细胞提供了一个很好的模式。最棒的是可测试性。您可以编写非常好的测试来检查预期的 HTML 元素是否存在以及它们应该包含什么内容。这使得通过小单元测试而不是一个大页面测试(你永远不会这样做)来测试整个页面变得非常容易。那么,为什么不也测试表格呢?

  2. 是的,它非常相似,请参阅最后的示例。 (代码是一个演示,它基于我对细胞的简短实验,我相信细胞专家可以改进它)。

  3. 单元格的表单可以简单地发布到 Controller ,就像任何其他表单在局部中一样。单元格只是一个 View 层。单元格中的表单指向一个 url,url 被路由到 Controller 。

    # controllers/products_controller.rb
    ...
    def new
    @product = Product.new
    end

    def create
    @product = Product.new(product_params)
    end
    ...

    # views/products/new.html.erb

    <div class='new_product_form'>
    <%= render_cell :products, :new, product: @product %>
    </div>

    # cells/products_cell.rb

    class SubscriptionCell < Cell::Rails
    def new(params)
    @product = params[:product]
    render
    end
    end

    # cells/products/new.html.erb

    <%= simple_form_for @product do |f| %>
    <%= f.input :name %>
    <%# etc... %>
    <% end %>

关于ruby-on-rails - 使用单元格新建和创建操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28473502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com