【问题标题】:nested form in rails 5.1rails 5.1中的嵌套表单
【发布时间】:2017-12-10 02:39:19
【问题描述】:

我有一个错误:

NoMethodError in Evaluations#new undefined method `evaluations_path' for 
  #<#<Class:0x007f99ddaea910>:0x007f99ddae88b8>

我有一个嵌套表单:

def new
  @user = User.find(params[:user_id])
  @evaluation = @user.evaluations.build  
end

在视图中:

<%= form_with model: @evaluation, local: true do |f| %>

这一行产生问题

有什么想法吗?

我的路线文件:

resources :users do 
  resources :evaluations 
end

【问题讨论】:

  • 请出示您的路线文件
  • 资源:用户做资源:评估结束

标签: ruby-on-rails forms nested ruby-on-rails-5


【解决方案1】:

将用户添加到您的表单中,因为这是一个嵌套路由:

<%= form_with model: [@user, @evaluation], local: true do |f| %>

【讨论】:

  • 我用过这个,但是我把它改成一个变量 user = User.find(params[:user_id]) @evaluation = user.evaluations.build
  • 你还有同样的错误吗? undefined method 'evaluations_path'?
  • 是的,同样的错误,一个问题,你的模型中的@evaluations 将是Evaluation.new
  • 是的,它是复数...并且出现#:0x007f3d614062a8>的未定义方法`evaluations_path'
  • 你说的是@evaluation = @user.evaluations.build吗?因为,@evaluation 必须是单数,而evaluations 没有@ 必须是复数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多