Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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 Rails-简单表单和嵌套模型_Ruby On Rails_Simple Form - Fatal编程技术网

Ruby on rails Rails-简单表单和嵌套模型

Ruby on rails Rails-简单表单和嵌套模型,ruby-on-rails,simple-form,Ruby On Rails,Simple Form,我的Rails 4应用程序中有三种型号 我有一个项目、项目问题和项目答案模型 计划 has_many :project_questions, dependent: :destroy#, through: :projects accepts_nested_attributes_for :project_questions 项目问题有以下联系: belongs_to :project#, counter_cache: true has_many :project_answers, depe

我的Rails 4应用程序中有三种型号

我有一个项目、项目问题和项目答案模型

计划

has_many :project_questions, dependent: :destroy#, through: :projects
accepts_nested_attributes_for :project_questions
项目问题有以下联系:

  belongs_to :project#, counter_cache: true
  has_many :project_answers, dependent: :destroy
  belongs_to :user
  accepts_nested_attributes_for :project_answers
项目答案包括:

 belongs_to :project_question#, counter_cache: true  
belongs_to :user 
My routes.rb有:

  resources :projects do
  # patch '/toggle-draft', to 'projects#toggle_draft', as: 'toggle_draft'
    resources :project_questions do
      resources :project_answers
    end
  end
在我的projects_controller中,我允许项目提问和回答的参数如下:

 project_question_attributes: [:title, :content, :user_id, :project_id,
      project_answer_attributes: [:answer, :project_question_id]],
项目问题和项目答案中也允许使用这些参数

在“我的项目”视图中,我希望渲染我在“项目”视图文件夹中制作的部分

在项目展示页面中,我有:

  <%= link_to 'Ask a question', new_project_question_path %> <% end %>
  <%= render 'project_questions/pqps' %>
有人能看出我做错了什么吗


谢谢

当您运行rake routes时,project\u questionnew的路由名称是什么。如果写入嵌套路由,它不应该是new\u project\u project\u project\u project\u question GET/projects/:project\u id/project\u questions/new.:format project\u questions会出现以下错误:没有路由匹配{:action=>new,:controller=>project\u questions,:id=>54}缺少必需的键:[:project_id]您真的必须将路由嵌套在:projects命名空间下吗?为什么不单独定义路由呢?
<div class="containerfluid">
  <div class="row">
    <div class="col-md-10 col-md-offset-1">

      <% f.simple_fields_for :project_questions, @project.project_questions.build do |q| %>
          <div class="categorytitle">
            <%= q.title %>
          </div>
          <div class="generaltext">
            <%= q.content %>
          </div>
          <%= render 'project_answers/show' %>
          <span class="editproject">   <% if current_user.id ==  @project.creator_id %>
            <%= link_to 'Answer this question', new_project_answer_path %>
              <% end %>
          </span>

      <% end %>
    </div>
  </div>
</div>
undefined local variable or method `new_project_question_path'