rails에서 "rails-ujs"의 비동기 통신을 사용했습니다.

3833 단어 rails-ujsRails

실제 이미지



"안녕하세요"버튼을 누르면 "위에 버튼을 누르면 정보가 바뀝니다!"안녕
지짱을 누르면 지짱 페이지로 전환되지 않습니다.

코드


장식한 전선이 뽑혔다.
config/routes.rb
Rails.application.routes.draw do
  get '/example', to: 'example#index'
  post '/example/greet', to: 'example#greet'
end
app/controllers/example_controller.rb
class ExampleController < ApplicationController
  layout "application"

  def index
    @message = "上のボタンを押すとメッセージが変わるよ!"
  end

  def greet
    @message= params[:greet]
  end
end
위의 레이아웃은 rails-ujs를 사용할 수 있습니다.
최근의 rails는 기본적으로 사용할 수 있을 거예요...난 몰라...
app/views/example/index.html.slim
h1 rails-ujs使用例

/ link_toで実装
= link_to example_greet_path(greet: "こんにちは"), method: :post, remote: true do
  p こんにちは

/ form_withで実装
= form_with url: example_greet_path, remote: true do
  = hidden_field_tag :greet, "こんばんは"
  = submit_tag "こんばんは"

#js-greet
  = render partial: "greet"
app/views/example/_greet.html.slim
p = @message
app/views/example/greet.js.erb
document.querySelector("#js-greet").innerHTML = "<%= j(render partial: "greet") %>"

해설


엄밀성이 걸려 있을지도 모르니 다소나마 양해해 주십시오.
form과link에remote를 추가합니다: controller의greet 방법인greet를 통해 진짜와 비동기적으로 이동합니다.js.실행erb.
이 견본의greet 방법은 단지params를 변수로 할 뿐이다
나는 주로 모델을 조작해서 결과를 회답하는 것이라고 생각한다.

좋은 웹페이지 즐겨찾기