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)
但是你必须重新构造一下你