gpt4 book ai didi

javascript - 如何从另一个模型访问一个模型属性以在 Rails 5 中传递 javascript View 部分?

转载 作者:行者123 更新时间:2023-11-30 21:08:08 24 4
gpt4 key购买 nike

我正在尝试从 location 模型获取 rider 模型的数据,并将其传递给 javascript 部分,这样我就可以标记每个骑手的位置。

我试图就我打算做什么提出正确的问题,但没有成功。

这是我的 rider.rb 模型。

class Rider < ActiveRecord::Base
has_one :location, as: :profile
end

这是我的 location.rb 模型。

class Location < ActiveRecord::Base
geocoded_by :address
belongs_to :profile, polymorphic: true
validates :profile, :latitude, :longitude, presence: true
end

这是我的controllers.rb

def show
@riders = Rider.all
end

这是我的show.html.haml

:javascript
var map;
var riders = #{raw @riders.to_json}

function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: { lat: 3, lng: 102 },
zoom: 9
});
riders.forEach(function(rider) {
var marker = new google.maps.Marker({
position: { lat: rider.latitude, lng: rider.longitude }, //this line does not work
map: map,
animation: google.maps.Animation.DROP,
title: rider.name.split(' ').slice(0,2).join(' '),
label: rider.name.split(' ').slice(0,2).join(' '),
});
}

当我 console.log(riders) 时,这是结果,缺少我需要的 location 属性。

authentication_token: "admin_token_16"
branch_id: 55
deposit_cents: 1000000
email: "leilanimosciskicorkery986@test.com"
id: 19
name: "Leilani Mosciski Corkery"
online: false
order_need_deposit: true
phone:"+9860128134706"
status: "active"
working: false

非常感谢任何帮助或见解!

最佳答案

您没有在 show 函数中获取乘客位置数据。因此,用下面的函数替换您的 show 函数

def show
@riders = Rider.joins(:location).select('riders.*','locations.latitude','locations.longitude')
end

关于javascript - 如何从另一个模型访问一个模型属性以在 Rails 5 中传递 javascript View 部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46419945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com