今天在使用 partial views 的时候出现了一个问题,不知道我总结的是不是对的,还请各位指点
在某个 action 当中,我需要使用另外一个 controller 的 action 对应的 view,我的代码如下所示
# police_controller
def get_out_record_list
police = Police.find_by_uid(params["device_uid"])
@out_records = police.live_out_records
render "out_records/index"
#render @out_records
end
之后实际上out_records/index
的 view 当中,使用了 partial 代码如下所示
json.array!(@out_records) do |out_record|
json.partial! 'out_record' , out_record: out_record
end
此时我的_out_record.json.jbuilder
这个是放在views/out_records/
这个目录里的
但是此时程序就会报错,说在 views/police/ 中找不到_out_record 这个模板文件
但是一旦将 police_controller 修改一下
# police_controller
def get_out_record_list
police = Police.find_by_uid(params["device_uid"])
@out_records = police.live_out_records
#render "out_records/index"
render @out_records
end
程序就正常运行了
我查看了下guide.ruby-china.org 里面似乎没有交代这个,还是我读书不仔细没看到这个说明