Ruby on rails Rails 4简单表单和嵌套资源未定义方法
我得到未定义的方法错误:Ruby on rails Rails 4简单表单和嵌套资源未定义方法,ruby-on-rails,ruby-on-rails-4,routes,simple-form,nested-routes,Ruby On Rails,Ruby On Rails 4,Routes,Simple Form,Nested Routes,我得到未定义的方法错误: undefined method `challenges_path' 我想我的表格是正确的,\u form.haml = simple_form_for [@skit, @challenge], html: { class: "form-horizontal" } do |f| 以上表格的链接: = link_to 'Submit', new_skit_challenge_path(params[:skit_id]), class: "btn btn-default
undefined method `challenges_path'
我想我的表格是正确的,\u form.haml
= simple_form_for [@skit, @challenge], html: { class: "form-horizontal" } do |f|
以上表格的链接:
= link_to 'Submit', new_skit_challenge_path(params[:skit_id]), class: "btn btn-default"
这是我的路线
resources :skits do
resources :challenges
end
这是我的挑战\u控制器。rb
def new
@challenge = Challenge.new
end
我做错了什么?您还需要哪些信息来帮助调试此问题?也许您可以尝试这样做:
resources :skits, shallow: true do
resources :challenges
end
未定义的方法“挑战\u路径”
问题是@skit
是nil
,因为您尚未在new
操作中初始化@skit
def new
@challenge = Challenge.new
@skit = Skit.find(params[:skit_id]) #you need this line
end