加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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中使用了这个部分
这是我的show.json.jbuilder

json.partial! 'signals/signal',signal: :@signal

它工作正常,但当我在index.json.jbuilder中使用此部分时
这是我的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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读