Ruby on rails 不工作的简单表单属于

Ruby on rails 不工作的简单表单属于,ruby-on-rails,simple-form,has-many,belongs-to,Ruby On Rails,Simple Form,Has Many,Belongs To,你好,我有一个简单的rails应用程序,它有两个模型:目标和任务 目标有许多任务,任务属于目标 出于某种原因,可能是新手的错误,我无法将表单转换为任务表单,以便使用简单表单进行渲染 模型 目标 然后我得到了错误 Unsupported argument type: task_id (Symbol) 因此,我在我的目标控制器中添加了以下内容 def show @task = Goal.task.find_or_create_by(:task_id) end 但是我得到了 NoMethodE

你好,我有一个简单的rails应用程序,它有两个模型:目标和任务

目标有许多任务,任务属于目标

出于某种原因,可能是新手的错误,我无法将表单转换为任务表单,以便使用简单表单进行渲染

模型

目标

然后我得到了错误

Unsupported argument type: task_id (Symbol)
因此,我在我的目标控制器中添加了以下内容

def show
  @task = Goal.task.find_or_create_by(:task_id)
end
但是我得到了

NoMethodError in GoalsController#show
undefined method `task' for #<Class:0x00007ff8c79b0920> Did you mean? take

根据上面Jagdeep的评论,添加尝试添加@task=@goal.tasks.build-in-goals\u-controller\show修复了此问题


希望这有帮助

您认为此表单应该做什么?@Gabbar创建一个与目标相关的任务。。。属于目标您是否有任务的嵌套路由?否,因为我希望用户可以访问其当前的\u user.tasks.all作为列表您可以显示路由吗?
<div class="row">
  <%= @goal.title %> 
<div class="row">
  <ul>
    <% @goal.tasks.each do |task| %>
    <li><%= task.name %></li>
    <% end %>
  </ul>
  <%= render partial: 'tasks/form', locals: {comment: @goal.tasks.new} %>
</div>
<%= simple_form_for([@goal, @task]) do |f| %>

  <div class="form-inputs">
    <%= f.input :name %>
    <%= f.input :description %>
  </div>

  <div class="form-actions">
    <%= f.button :submit %>
  </div>
<% end %>
@task = Task.find_or_create_by(:task_id)
Unsupported argument type: task_id (Symbol)
def show
  @task = Goal.task.find_or_create_by(:task_id)
end
NoMethodError in GoalsController#show
undefined method `task' for #<Class:0x00007ff8c79b0920> Did you mean? take
Rails.application.routes.draw do
  resources :tasks
  resources :goals
end