在编辑功能中,我将获取将要编辑的对象。不幸的是,我得到了这个奇怪的错误,我可以'到目前为止了解其原因。
NoMethodError in Tasks#edit
undefined method
模型名称' #Hash:0x007fe92d2afeb8
_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) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :name %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
答案 0 :(得分:1)
simple_form_for
希望您将模型传递给它。基于该假设,它试图调用模型上存在的方法,但不会调用@task
对象中的方法,这是JSON解析的结果。
答案 1 :(得分:0)
您只能将srun --constraint=<some_feature> <some_cmd>
类(或鸭子类型)与ActiveRecord
但是simple_form
也可以使用哈希而不是模型,例如:
simple_form
但是你必须重新构造一下