Padrino和续集嵌套属性形式

时间:2018-03-05 17:23:52

标签: ruby erb sequel padrino

我正在尝试通过关联创建一个用于存储数据层次结构的表单。

我的数据库结构是

meta
 - ID (PK)
version
 - meta_id (FK of meta)
 - ID (PK)
 - lang (FK from lang ...)
 - ....
data
 - ID (FK of version)

我需要在一个ID下存储多种语言内容。

模型

class Meta < Sequel::Model(:link_meta)

  one_to_many :version 

end

class Version < Sequel::Model(:link_version)

  one_to_one :meta, key: :meta_id
  one_to_many :data, key: :id
  one_to_one :lang, key: :lang

end

class Link < Sequel::Model(:link)
  plugin :timestamps, :create => :created, :update => :updated

  many_to_one :version, key: :id

end

我创建输入的表单是。

  <% form_for :links, url(:links, :create), :class => 'form-horizontal' do |f| %>
    <%= partial 'links/form', :locals => { :f => f } %>
 <% end %>

这是我的部分

<% f.fields_for :version, :class => 'form-horizontal' do |cz| %>
  <%= cz.hidden_field :lang, :value => Lang.select(:id).where(:lang => "cz").map(:id) %>

  <% cz.fields_for :data, :class => 'form-horizontal' do |link| %>

    <% error = @links.errors.key?(:url) && @links.errors[:url].count > 0 %>
    <fieldset class='control-group <%= error ? 'has-error' : ''%>'>
     ... form content
    </fieldset>
  <% end %>

  <% f.fields_for :version, :class => 'form-horizontal' do |en| %>
  <%= en.hidden_field :lang, :value => Lang.select(:id).where(:lang => "cz").map(:id) %>

    <% en.fields_for :data, :class => 'form-horizontal' do |link| %>

      <% error = @links.errors.key?(:url) && @links.errors[:url].count > 0 %>
      <fieldset class='control-group <%= error ? 'has-error' : ''%>'>
      ... another form content
     </fieldset>
  <% end %>
<% end %>

但它失败了

[:class,“form-horizo​​ntal”]的未定义方法`data':Array

我尝试了不同的关联组合等,我感到迷茫。

由于

列维

0 个答案:

没有答案