【问题标题】:Rails Active Admin - Edit/create association on show page?Rails Active Admin - 在显示页面上编辑/创建关联?
【发布时间】:2013-05-23 17:55:29
【问题描述】:

我有一个作者的展示页面,其中列出了作者的书籍。我希望能够在线添加书名以快速添加新书关联。我可以在前端使用 rails MVC 很容易地做到这一点,但是我很难理解 activeadmin DSL 来做一些不是开箱即用的事情。

这是显示页面上的当前数据表,直截了当。

    show :title => :name do
        panel "Books" do
            table_for(author.books) do 
                column("Book") { |book| link_to book.name.titleize, admin_book_path(book) }
                column("Release") { |book| book.release_date.to_formatted_s(:long_ordinal)}
                column("Sales") { |book| book.orders.count }
            end
        end
    end

我希望在列表底部看到一个空白文本字段,我可以输入新书名并单击“添加”将其添加到列表中。但我只在文档中看到有关如何编辑表单本身的信息,这些信息仅显示在编辑页面上。

总的来说,我喜欢 activeadmin 设置的速度,但感觉好像我错过了一些关于它如何运作的基本概念,而且文档并没有帮助我掌握它...

【问题讨论】:

    标签: ruby-on-rails associations activeadmin


    【解决方案1】:

    例如,您可以在 Show 页面中将 from 作为部分呈现,并添加任何需要的控制器操作以添加书籍并重定向回 Show 页面。

        row("Add book") do |item|
          div do
            render "form_to_add_books" 
          end
    

    【讨论】:

      【解决方案2】:

      只需在您的模型中使用关联并像这样使用它

      form do |f|
        f.inputs do
          f.input :book_name
            f.inputs do
              f.has_many :titles do |p|
                 p.input :title
               end  
              end
             end
      

      f.has_many 会自动生成按钮。

      别忘了使用

      accepts_nested_attributes_for :titles
      

      在您的图书模型中。

      【讨论】:

        猜你喜欢
        • 2023-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-29
        相关资源
        最近更新 更多