ruby-on-rails – 部分在Jbuilder中不与协会合作
发布时间:2020-12-17 03:55:48 所属栏目:百科 来源:网络整理
导读:我正在使用jbuilder编写部分来返回json数据.我有一个模块,我在其中返回show方法中的每条记录的数据和索引中的所有记录.但所有记录的东西都不起作用 在这里我做了什么 我在控制器中的show方法 def index@signals = Signal.all.paginate(:page = params[:page]
我正在使用jbuilder编写部分来返回json数据.我有一个模块,我在其中返回show方法中的每条记录的数据和索引中的所有记录.但所有记录的东西都不起作用
在这里我做了什么 我在控制器中的show方法 def index @signals = Signal.all.paginate(:page => params[:page],:per_page => 10) end def show @signal = Signal.find(params[:id]) end 这是我的部分_signal.json_jbuilder json.(@signal,:id,:power) json.user do json.first_name @signal.user.first_name json.last_name @signal.user.last_name json.email @signal.user.email end json.location @signal.signal_location,:latitude,:longitude json.device do json.model @signal.device.phonemodel json.os_version @signal.device.os_version json.os_type @signal.device.os_type json.sim_card_provider @signal.device.sim_card_provider end 现在我在show.json.jbuilder和index.json.jbuilder中使用了这个部分 json.partial! 'signals/signal',signal: :@signal 它工作正常,但当我在index.json.jbuilder中使用此部分时 json.partial! partial: 'signals/signal',collection: @signals,as: :signal 它说undefined @ signal.user.first_name.它到达内部部分但不能达到联想.我查了一下日志..但没什么好帮的…… 解决方法
您应该更改partial以使用局部变量.
例如 json.(signal,:power) json.user do json.first_name signal.user.first_name json.last_name signal.user.last_name json.email signal.user.email end json.location signal.signal_location,:longitude 并在show.json.jbuilder中 json.partial! 'signals/signal',signal: @signal 在index.json.jbuilder中 json.partial! partial: 'signals/signal',as: :signal (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |