Ce sera le premier message. Je suis débutant depuis 4 mois depuis que j'ai commencé la programmation. Merci.
Modifié pour pouvoir rechercher des événements dans 8 régions à l'aide de japanMap lors de la création d'un portefeuille. À ce moment-là, j'avais un peu de mal à passer des paramètres arbitraires aux liens pour chaque région, alors je l'ai affiché moi-même pour confirmation.
Cette fois, j'ai écrit le programme japanMap dans le fichier application.js.
Voici le code que j'ai écrit.
application.js
//Page de recherche Carte du Japon
$(function(){
//Créer des liens dans 8 régions
var areaLinks = {
1:"/user/index?sort=hokkaido",
2:"/user/index?sort=tohoku",
3:"/user/index?sort=kanto",
4:"/user/index?sort=chubu",
5:"/user/index?sort=kinki",
6:"/user/index?sort=chugoku_shikoku",
7:"/user/index?sort=kyusyu_okinawa",
};
//8 Désignation de la zone locale
var areas = [
{code : 1, name: "Hokkaido", color: "#ab86c4", hoverColor: "#dfcceb", prefectures: [1]},
{code : 2, name: "Tohoku", color: "#6d93d1", hoverColor: "#91b0e3", prefectures: [2,3,4,5,6,7]},
{code : 3, name: "Kanto", color: "#f5a164", hoverColor: "#f5c09a", prefectures: [8,9,10,11,12,13,14]},
{code : 4, name: "Chubu", color: "#77e077", hoverColor: "#adedad", prefectures: [15,16,17,18,19,20,21,22,23]},
{code : 5, name: "Kinki", color: "#ffe966", hoverColor: "#fff2a3", prefectures: [24,25,26,27,28,29,30]},
{code : 6, name: "Chine / Shikoku", color: "#e68ccc", hoverColor: "#f0b9e0", prefectures: [31,32,33,34,35,36,37,38,39]},
{code : 7, name: "Kyushu-Okinawa", color: "#de6474", hoverColor: "#f29da9", prefectures: [40,41,42,43,44,45,46,47]},
];
//Paramètres d'affichage de la carte
$("#map-container").japanMap({
width: 600,
areas : areas,
selection : "area",
borderLineWidth: 0.25,
drawsBoxLine : false,
movesIslands : true,
showsAreaName : true,
font : "MS Mincho",
fontSize : 13,
fontColor :"#777",
fontShadowColor : "white",
onSelect : function(data){
location.href = areaLinks[data.area.code];
};
});
Cette partie ci-dessus est le lien.
var areaLinks = {
1:"/user/index?sort=hokkaido",
2:"/user/index?sort=tohoku",
3:"/user/index?sort=kanto",
4:"/user/index?sort=chubu",
5:"/user/index?sort=kinki",
6:"/user/index?sort=chugoku_shikoku",
7:"/user/index?sort=kyusyu_okinawa",
};
Dans le fichier html.erb, écrivez comme suit
:○○.html.erb
<%= link_to '◯◯', ○◯_path(:sort => 'hokkaido') %>
Je ne savais pas comment écrire link_to dans le fichier js.erb
php:○○.js.erb
1:"/user/index?sort=hokkaido"
Je l'ai écrit comme ça. Cela nous a permis de passer des paramètres arbitraires [: sort]. La partie [? Sort = hokkaido] est le paramètre.
○○_controller.rb
def index
if params[:sort] == 'hokkaido'
@events = Event.where(prefecture_code: "Hokkaido")
@events = @events.page(params[:page]).per(6).order("id DESC")
Ce qui précède fait partie du contrôleur. L'événement qui distingue et affiche les paramètres est modifié dans la description de [if params [: sort] == 'hokkaido'].
Il peut y avoir des erreurs difficiles à voir dans le premier post, mais merci d'avoir regardé jusqu'à la fin.
Recommended Posts