Я хочу, чтобы все «новые» представления открылись в модале. Но независимо от того, что я меняю, страница продолжает открывать на новой карте на Android. Я пробовал:
Validated JSON - он прошел. http://10.0.2.2:3000/configurations/android_v1.json на эмуляторе Android - json рендер. />https://github.com/mcniels100/rd/tree/hotwire-native написан# app/controllers/configurations_controller
class ConfigurationsController < ApplicationController
#...
def android_v1
render json: {
settings: {},
rules: [
{
patterns: [
".*"
],
properties: {
uri: "hotwire://fragment/web",
pull_to_refresh_enabled: true
}
},
{
patterns: [
"/new$",
"/edit$"
],
properties: {
context: "modal",
pull_to_refresh_enabled: false
}
}
]
}
end
end
< /code>
# config/routes.rb
Rails.application.routes.draw do
#...
root "repairs#index"
resources :repairs do
member do
post :add_images
delete :remove_image
post :lock
post :unlock
post :add_status
post :add_repair_item
delete :remove_repair_item
get :load_inventory
patch :reopen
end
end
#...
resources :configurations, only: [] do
get :ios_v1, on: :collection
get :android_v1, on: :collection
end
end
< /code>
# app/views/repairs/index.html.erb
All open repairs
< /code>
# app/src/main/java/com/mcniels/rd/MainActivity.kt
package com.mcniels.rd
import android.os.Bundle
import android.view.View
import androidx.activity.enableEdgeToEdge
import dev.hotwire.core.config.Hotwire
import dev.hotwire.core.turbo.config.PathConfiguration
import dev.hotwire.navigation.activities.HotwireActivity
import dev.hotwire.navigation.navigator.NavigatorConfiguration
import dev.hotwire.navigation.util.applyDefaultImeWindowInsets
const val baseURL = "http://10.0.2.2:3000"
class MainActivity : HotwireActivity() {
override fun navigatorConfigurations() = listOf(
NavigatorConfiguration(
name = "main",
startLocation = "$baseURL/repairs",
navigatorHostId = R.id.main
)
)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_main)
findViewById(R.id.main).applyDefaultImeWindowInsets()
Hotwire.loadPathConfiguration(
context = this,
location = PathConfiguration.Location(
remoteFileUrl = "$baseURL/configurations/android_v1.json"
)
)
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... on-android