[第八只羊] 迷雾森林舞会I 建立游戏房间

天亮了 昨晚是平安夜

关於迷雾森林故事

梦幻游戏

看到天空满月 Rocky
大家还在纳闷到底是怎麽飞上去的
但大家在地表上也帮不上实质的忙
於是阿虎就继续招呼大家就一边赏着 Rocky月亮 一边继续进行舞会的安排
舞会现场充满着金碧辉煌的布景与灯光
不同的 anilmal 在个是葡萄酒间穿梭
阿虎拿起麦克风 说
很高兴迷雾森林的 animal 能够一起聚在这个地方
希望透过这次的活动可以让大家感情更加紧密
请大家再石头椅上坐好
阿虎拿起一只毛笔
在地上画了一只凤凰
https://ithelp.ithome.com.tw/upload/images/20210923/201311559DdLCODAmk.jpg
图片来源
并将虎掌往地上一拍

整座森林摇晃震动
变成绿色摇晃树影 穿梭在热带雨林
眼前突然出现一只粉红的的框线
无数的光点从无穷远处飞向各个坐在石椅上的 animal

少女们纷纷紧握起双手
赞叹美不胜收的奇景
粉红框线突然有个疑似凤凰影子
从无形的粉红色大门中缓缓走出
阿虎将他可爱的虎掌拍了两次

乍看下是凤凰的鸟 竟然是只粉红孔雀
并跟着阿虎的节奏把屏打开

图片来源
就在粉红孔雀开屏的瞬间
周围粉红光影
突然朝着特定座位飞去
石椅质地衬托着镁光
慢慢的脱离地面漂浮在空中三十余尺
就在大家还在惊奇欢呼中
粉红光环的石椅突然消失在空气中
并在原地生成多个黑洞这些石椅上的 animal 就这个突然消失在会场之中
只留下会场中他们的亲友 阿虎 以及天空上的 Rocky 月亮
待续..

动物园派对

那我们就要来建立房间罗
首先我们先来建立一个 Rooms 专属的controller

$ rails g controller rooms
$ rails g controller users
$ rails g controller seats

在gem中导入 simple_form

/app/gemfile.rb

gem 'simple_form'
$ bundle install

在房间中建立板子的选项

app/models/room.rb

class Room < ApplicationRecord
  has_many :seats, dependent: :destroy

  BOARDS = %w(standard wolf_beauty_knight crush wolf_king_dreamer wolf_king_guard evil_spirit_knight blood_moon_demon_Hunter)
  enum board: BOARDS

end
class RoomsController < ApplicationController
  before_action :set_room, only: %i[edit show destroy update]

  def index
    Room.all
  end

  def new
    @room = Room.new
  end

  def create
    @room = Room.new(room_params)
    if @room.validate(room_params)
      @room.board = Room.boards[room_params[:board]]
      @room.save
      #  save current_user with room_id
      redirect_to room_path(@room), notice: '房间建立成功'
    else
      render :new
    end
  end

  def show
  end

  def update
    @room.save if @room.validate(room_params)
    redirect_to root_path(@room.id)
  end


  def destroy
  end

  private

  def room_params
    params.require(:room).permit(
      :name, :number_of_gamer, :status, :board
    )
  end

  def set_room
    @room = Room.find(params[:id])
  end
end

接下来建立画面选单

/views/rooms/_form.erb

<%= simple_form_for Room.new do |f| %>
  <%= f.input :name, label: '房间名称'%>
  <%= f.input :number_of_gamer, label: '房间人数' %>
  <%= f.input :board, label: '板子',include_blank: false, collection: Room::BOARDS.map(&:to_sym) %>
  <%= f.input :user_id, as: :hidden, input_html: { value: User.first.id }%>
  <%= f.button :submit %>
<% end %>
/views/rooms/new.erb

<%= render 'form' %>

就可以把房间建立起来
https://ithelp.ithome.com.tw/upload/images/20210923/20131155Rvql3sShGf.png

阿虎每日选币

Lina 守 0.031

抱歉今天有点赶 迷雾森林故事创作实在好难... 我们明天再整理一下建立房间的程序
天黑请闭眼


<<:  Day 08-在Azure建立Azure Bot资源

>>:  D22 中场休息: 要如何持续保持学习的热诚?

Rails幼幼班--Rails安装Tailwindcss

用gem跟CDN不好吗... 这麽简单的事情也要分享?? 因为,没常安装就忘东忘西了... 认命做...

Spring Framework X Kotlin Day 21 WebSocket

GitHub Repo https://github.com/b2etw/Spring-Kotlin...

Day 2. Hashicorp Nomad: Upgrade

Hashicorp Nomad: Upgrade 升级方式: 现有主机更新binary档: 通常会建...

Day16 Redis应用实战-SortedSet操作

Redis 资料型态SortedSet Sorted Set与Hash一样,可以存放很多key an...

RWD模版

以此为模版将需要的内容图片填进去 <!DOCTYPE html> <html>...