我收到了未定义的方法错误:
undefined method `challenges_path'
我以为我的表单正确, _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
这是我的 challenge_controller.rb
def new
@challenge = Challenge.new
end
我做错了什么?您还需要哪些其他信息来帮助调试此问题?
答案 0 :(得分:0)
也许你可以尝试这样做:
resources :skits, shallow: true do
resources :challenges
end
答案 1 :(得分:0)
未定义的方法`challenge_path'
问题是@skit
是nil
,因为您尚未在@skit
操作中初始化new
。
def new
@challenge = Challenge.new
@skit = Skit.find(params[:skit_id]) #you need this line
end