Rails – 未定义的方法`model_name’for

在编辑function中,我正在获取将要编辑的对象。 不幸的是,我得到了这个奇怪的错误,我可以“理解它到目前为止的原因。

NoMethodError in Tasks#edit 

undefined method #Hash:0x007fe92d2afeb8 ‘用于#Hash:0x007fe92d2afeb8第1行的_form.html.erb

tasks_controller:

 def edit uri = URI.parse("http://localhost/tasks/public/api/tasks/"+params[:id]) response = Net::HTTP.get_response(uri) @task = JSON.parse(response.body)['task'] end 

_form.html.erb

   

simple_form_for希望你传递一个模型。 基于该假设,它试图调用模型上存在的方法,但不会调用@task对象中的方法,这是JSON解析的结果。

您只能将simple_form类(或鸭子类型)与simple_form一起simple_form

但是, simple_form也可以采用哈希而不是模型,例如:

simple_for_for(:task)但是你必须重新构造一下你