Ruby on rails 文本字段未显示

Ruby on rails 文本字段未显示,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我正在构建一个开源的电子表格应用程序。到目前为止,它是一个rails应用程序,有4个模型:表、行、列和项 下面是它们的样子: 表1.rb: has_many :columns has_many :rows accepts_nested_attributes_for :columns Column.rb belongs_to :table has_many :items Row.rb belongs_to :table has_many :items accepts_nested_attrib

我正在构建一个开源的电子表格应用程序。到目前为止,它是一个rails应用程序,有4个模型:表、行、列和项

下面是它们的样子:

表1.rb:

has_many :columns
has_many :rows
accepts_nested_attributes_for :columns
Column.rb

belongs_to :table
has_many :items
Row.rb

belongs_to :table
has_many :items
accepts_nested_attributes_for :items
项目1.rb

belongs_to :row
在添加新行的页面上。您应该看到如下内容:

<%= nested_form_for [@table, @row] do |f| %>

 <% @columns.each do |column| %>
    <%= column.name %> <br>
    <%= f.fields_for :items do |item_form| %>
       <%= item_form.text_field :value %>
    <% end %>

 <% end%>

 <%= f.submit %>

<% end %>

因此,列已经设置好,因此现在您正在添加新项目,插入时应包括每个项目的行id列id

到目前为止,我的表单如下所示:

<%= nested_form_for [@table, @row] do |f| %>

 <% @columns.each do |column| %>
    <%= column.name %> <br>
    <%= f.fields_for :items do |item_form| %>
       <%= item_form.text_field :value %>
    <% end %>

 <% end%>

 <%= f.submit %>

<% end %>


我正在为嵌套表单使用。但是到目前为止,我还没有一个文本框来显示项目的值。还有,这是获得我想要的东西(如图片)的最佳方式,还是有更干净的方式


谢谢你的帮助

要渲染任何内容,您需要为字段\u构建至少1项。尝试在
新的
控制器操作中执行此操作

def new
  ...
  @row.items.build
end

我不确定对列和行进行建模是最好的方法。为什么不为单元格建立一个模型,每个单元格都有一个行和列属性?行和列不需要在数据库中表示,它们只是单元格的元数据……您的模式将导致大量多余的DB调用。只要我的$0.02,如果你有一些特定的功能需要这些模型,请随意忽略。。。