Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在索引页中将嵌套表单文本字段显示为文本_Ruby On Rails_Nested Forms_Fields For - Fatal编程技术网

Ruby on rails 在索引页中将嵌套表单文本字段显示为文本

Ruby on rails 在索引页中将嵌套表单文本字段显示为文本,ruby-on-rails,nested-forms,fields-for,Ruby On Rails,Nested Forms,Fields For,我对Rails完全陌生,所以我很抱歉问了一个愚蠢的问题: 这是生成我的表单及其嵌套表单的代码: <%= form_for @job do |form| %> <div><%= form.label :department %><%= form.text_field :department %></div> <div><%= form.label :enabled %><%

我对Rails完全陌生,所以我很抱歉问了一个愚蠢的问题:

这是生成我的表单及其嵌套表单的代码:

<%= form_for @job do |form| %>          
    <div><%= form.label :department %><%= form.text_field :department %></div>
    <div><%= form.label :enabled %><%= form.check_box :enabled %></div>

    <!-- job description form -->
    <%= form.fields_for :job_descriptions do |subform| %>
        <div><%= subform.hidden_field :language %></div>
        <div><%= subform.object.language %></div>
        <div><%= subform.label "Job Name" %><%= subform.text_field :title %></div>
        <div><%= subform.label "Header" %><%= subform.text_field :short_text %></div>
        <div><%= subform.label "Content" %><%= subform.text_area :text %></div>
    <% end %>
    <!-- end of job description form -->
    <div><%= form.submit %></div>
<% end %>

虽然这是index.html.erb的一部分,我想在其中显示子表单中的文本字段,例如:title:short\u text:text作为静态文本(在这种特殊情况下,我尝试使用:title):


  • 我得到的错误是:

    undefined method `title' for #<Job:0x007fcdde2001a8>
    
    未定义的方法“title”#
    
    我的作业.rb文件如下所示:

    class Job < ActiveRecord::Base
        has_many :job_descriptions, :dependent => :destroy
        accepts_nested_attributes_for :job_descriptions
    
        def self.languages
            [:de, :en]
        end
    end
    
    类作业:销毁
    接受以下内容的\u嵌套\u属性\u:job\u description
    def self.languages
    [:de,:en]
    结束
    结束
    
    非常感谢您的帮助。

    
    
    <%= form_for @job do |form| %>
      ...
      <%= form.fields_for :job_descriptions do |subform| %>
        <% if subform.object.active? %>
          <%= subform.text_field :title %>
        <% end %>
      <% end %>
      ...
    <% end %>
    
    ... ...
    Job对象上没有“title”属性,只有JobDescription有“title”。我想你希望每种语言都有一份单独的工作描述,是吗?你想在jobs index页面上显示每个jobs Description,还是一种语言的jobs Description,还是什么?我想在jobs index页面上显示每个jobs Description的每个标题,我解决了在jobs Controller中添加jobs Description的问题,它丢失了。谢谢你的帮助。
    <%= form_for @job do |form| %>
      ...
      <%= form.fields_for :job_descriptions do |subform| %>
        <% if subform.object.active? %>
          <%= subform.text_field :title %>
        <% end %>
      <% end %>
      ...
    <% end %>