1

голосов
0

ответ
459

Просмотры

Rails Indexing: Adding :btree index type to migration

Я пытаюсь выяснить, как запустить миграцию, которая добавляет тип индекса B-Tree с индексом. Я попытался запустить рельсы г миграции add_index_to_recipes, которые дали мне пустую миграцию: класс AddIndexToRecipes <ActiveRecord :: Migration [5,0] Защите изменить конец конца, то я изменил миграцию следующим образом: класс AddIndexToRecipes <ActiveRecord :: Migration [5,0] Защите изменить add_column: рецепты,: user_id,: целое add_index: рецепты,: user_id, используя:: ВТКЕЕ конец конец Тогда я побежал рельсы БД: мигрировать, но в схеме до сих пор нет тип индекса. Миграция побежал прекрасно, но моя схема по-прежнему выглядит следующим образом: create_table «рецепты», сила:: каскадный сделать | т | t.string "название" t.datetime "created_at", нуль: ложные t.datetime "updated_at", NULL: ложные t.integer "user_id" т. Индекс [ «user_id»], название: «index_recipes_on_user_id» конец я хочу, чтобы выглядеть следующим образом: create_table «рецепты», сила:: каскадный делать | т | t.string "название" t.datetime "created_at", NULL: ложные t.datetime "updated_at", NULL: ложные t.integer "user_id" t.index [ "user_id"], имя: "index_recipes_on_user_id", используя:: ВТКЕЕ конец Аналогичные вопросы были здесь просили, но до сих пор я не смог придумать решение. Что мне не хватает?
Belder
1

голосов
1

ответ
171

Просмотры

Рубин на Rails Tutorial: Определение хэш с помощью клавиш символов

Что касается упражнений в RoR Учебник Майкла Hartl в уроке в 4.3.3 (хэши и символов): «Определить хэш с ключами символов, соответствующих имя, адрес электронной почты, и„пароль переваривать“, а значения, равные ваше имя, ваш адрес электронной почты, и случайная последовательность из 16 букв нижнего регистра «. Я надеюсь получить некоторый входной сигнал и / или альтернативы & «лучше» решения для этого (или, по крайней мере, некоторую критику относительно моего решения). Защиту my_hash а = ( 'A' .. 'Z') to_a.shuffle [0..15] .join Ь =. {имя: "Джон", адрес электронной почты: "[email protected]", пароль: а} возвратный конец б ставит my_hash (Да, я понимаю, что это очень простое упражнение, и прошу прощения, если это было предложено раньше.)
Belder
1

голосов
3

ответ
146

Просмотры

Понимание RBENV: Переключение на Ruby версии Локально

После обновления моей версии Ruby, Я (как и ожидалось) работать в какой-то проблемы, получить мой сервер и работает со старыми проектами. Мне интересно, как переключать версии Ruby, локально для конкретного проекта. страница GitHub Rbenv использует $ rbenv местных 1.9.3-p327as пример команду, как сделать это. То, что я хочу знать, что -p327 относится, что оно должно быть в моем случае, и если это даже необходимо. Могу ли я просто запустить $ rbenv местного 2.3.1, например? (В моем случае, я в настоящее время с помощью Руби -v 2.4.0 хотят вернуться к более ранней версии, чтобы избежать ошибок Разрабатывают Gem, что я не могу показаться, чтобы получить прошлое.)
Belder
3

голосов
0

ответ
120

Просмотры

(RoR) Рубин на Rails шахматной игры: метод не работает должным образом.

Я работаю над Рубите логики для студенческого проекта здания шахматной игры. В настоящее время я пытаюсь написать логику, необходимую для выполнения рокировки хода. По моим тестам рокировки должен работать, но во время игры, кажется, что только белая сторона может успешно замок. Когда черная сторона пытается замка она рассматривается как недопустимый шаг. Мне интересно, если мой метод замок! в модели king.rb не вызываются правильно в процедуре move_to! Метод находится в модели pieces.rb или, если есть большая проблема с тем, как методы, определяющие которых игрок очередь это (см pass_turn! в game.rb)? Я понимаю, что этот вопрос немного расплывчато, но я довольно застрял и мог бы использовать некоторую помощь выяснить, что происходит здесь. король модель класса King <Кусок Защиту valid_move? (х, у), если супер (х, у), если legal_castle_move? замок! правда еще вернуться standard_king_move? (х, у) конец конец конец ложная Защиты мат? # Пример логического конца Защита замок! если can_castle_queenside? castle_queenside еще can_castle_kingside? castle_kingside конец конец Защиту can_castle_kingside? ладья = game.pieces.where (piece_type: 'Ладья', x_position: 7, состояние: 'непоколебим'). Если взять rook.nil? вернуть ложную еще legal_castle_move? && no_kingside_obstruction? конец конец Защиту castle_kingside ладья = game.pieces.where (piece_type: 'Ладья', x_position: 7) .Снять король = game.pieces.where (piece_type: 'King', x_position: 4) .Снять если rook.color == 'WHITE' && king.color == ладья 'белый'. update_attributes (x_position: 5, состояние: 'переехал') king.update_attributes (x_position: 6, состояние: 'переехал') rook.update_attributes еще rook.color == 'черный' && king.color == 'черный' (x_position: 5, состояние: 'переехал') king.update_attributes (x_position: 6, состояние: 'переехал') конец rook.reload king.reload конце защиту can_castle_queenside? ладья = game.pieces.where (piece_type: 'Ладья', x_position: 0, состояние: 'непоколебим'). Если взять rook.nil? вернуть ложную еще legal_castle_move? && no_queenside_obstruction? конец конец Защиту castle_queenside ладья = game.pieces.where (piece_type: 'Ладья', x_position: 0) .Снять король = game.pieces.where (piece_type: 'King', x_position: 4) .Снять если rook.color == 'WHITE' rook.update_attributes && king.color == 'белый' (x_position: 3, состояние: 'переехал') king.update_attributes (x_position: 2, состояние: 'переехал') еще rook.color == 'черный' && king.color rook.update_attributes == 'черного' (x_position: 3, состояние: 'переехало') king.update_attributes (x_position: 2, состояние: 'переехало') конец rook.reload king.reload конца Защита no_kingside_obstruction? (5..6) .each сделать | х | возвращать ложное, если space_occupied? (х, y_position) конец истинного конца четкости no_queenside_obstruction? (1..3) .each сделать | х | ? Возвращать ложь, если space_occupied (х, y_position) конец истинный конец частного Защиту standard_king_move (х, у) йх = (х - x_position)? .Abs Dy = (у - y_position) .abs если дх> = 2 || ду> у) конец конец ложный конец Защиты is_obstructed? (х, у) = х x_end y_end = у = путь check_path (x_position, y_position, x_end, y_end) возвращение horizontal_obstruction? (x_end, y_end), если путь == 'горизонтальный' Возвращение vertical_obstruction ( x_end, y_end), если путь == 'вертикальный' возвращение diagonal_obstruction (x_end, y_end), если путь == 'диагонали' ложный конец четкости can_be_blocked? (цвет) checked_king = game.find_king (цвет) obstruction_array = obstructed_squares (checked_king.x_position, checked_king .y_position) противники = game.opponents_pieces (цвет) opponents.each сделать |! противник | Следующий если opponent.piece_type == 'King' obstruction_array.each сделать | площадь | возвращает истину, если opponent.valid_move? (квадрат [0], квадрат [1]) конец конец конец ложным Защиту move_causes_check? (х, у) состояние = ложь ActiveRecord :: Base.transaction сделать change_location (х, у) состояние = game.in_check? (цвет) поднять ActiveRecord :: Откат конец перезарядка состояние Конец защиту space_occupied (х, у) game.pieces.where? (x_position: х, y_position: у) .present? Конец четкости check_path (x_position, y_position, x_end, y_end), если y_position == y_end 'горизонтальные' ELSIF x_position == x_end 'вертикальный' ELSIF (y_end - y_position) .abs == (x_end - x_position) 'диагонали' конец конец .abs защиту capture_piece_at (х, у) piece_at (х, у) .update_attributes! (x_position: ноль, y_position: ноль)?!? конец Защиты незанятый (х, у) space_occupied (х, у) конец Защиты occupied_by_mycolor_piece (х, у? ) space_occupied? (х, у) && (piece_at (х, у) == .color цвета) конец Защиты occupied_by_opposing_piece? (х, у) space_occupied? (х, у) && (piece_at (х, у) .color! = цвет) конец Защита piece_at ( х, у) game.pieces.find_by (x_position: х, y_position:? у) конец Защиты diagonal_move (х, у) (y_position - у) .abs == (x_position - х) .abs конца Защиты vertical_move (х, у) x_position == х && y_position! = у конца защиту horizontal_move? (х, у) (y_position == у) && (x_position! = х)? правда: ложный конец четкости available_moves Game.all_board_coordinates.select сделать | coordinate_pair | valid_move? (coordinate_pair [0], coordinate_pair [1]) &&! is_obstructed? (coordinate_pair [0], coordinate_pair [1]) &&! occupied_by_mycolor_piece? (coordinate_pair [0], coordinate_pair [1]) конец конец частный Защиту change_location (х, у) update_attributes (x_position: х, y_position:?! у) конец Защиту SPACE_AVAILABLE (х, у) occupied_by_mycolor_piece (х, у) конец Защиту space_occupied (х, у? ) game.pieces.where (x_position: х, y_position: у) .present? конец игры модель pass_turn! Метод Защита pass_turn! (цвет) player_turn = цвет == 'белый'? 'Черный': обновление 'WHITE' (user_turn: player_turn) конец
Belder
1

голосов
1

ответ
795

Просмотры

Rails & Postgresql on AWS Cloud 9 : role “ec2-user” does not exist

I am trying to get my Rails environment up and running with a Postgres database using AWS Cloud9 and have run into a problem when trying run rails db:migrate. Initially I created the project by running: rails new app_name -d postgresql bundle install Bundler had a problem finding gem 'pg' so I ran: sudo yum install postgresql-devel sudo yum install postgresql-server sudo postgresql initdb sudo service postgresql start The server fired up fine afterwards and I thought all was well until running rails db:migrate which returned the error: PG::ConnectionBad: FATAL: role "ec2-user" does not exist I am unsure how to fix this. It has been suggested that I may need to get into my psql shell and alter or create a new role, but I'm unsure how to alter the ec2-user. It has also been suggested that my pg_hba.conf file may need some alterations. I have the path to that file, but am not sure how to edit it or if that's something that I really want to do. Any suggestions? I'm including my database.yml below: default: &default adapter: postgresql encoding: unicode pool: development:
Belder
0

голосов
1

ответ
53

Просмотры

Бутстрап 4 Альфа 6 Сетки не реагирует на мобильные точки останова (коллектив- или Col-см) Рельсы

В моем проекте Rails, я использую Gem «начальной загрузки», «4.0.0.alpha6». Я не могу получить подвесная система автоматически переключается на коллектив- или Col-см проклейки при использовании нескольких точек останова в моей разметке. Пример: #stays Col-мкр-8 даже на мобильном телефоне, используя разметку выше, система сетки, кажется, застрять на Col-мд проклейки. Однако, когда я дублировать код в скрипку, все размеры сетки, кажется, работают, как они должны. Классы мобильных сетки DO работать в моем проекте, однако, когда используется только один класс. Пример: # цв-10 работает, когда это единственный класс сетки в разметке у меня не было никаких других проблем с Bootstrap в моем проекте, помимо этого, и в то время как я уверен, что есть простое решение, я был не в состоянии понять, почему это происходит. В Chrome Dev Tools, Я могу видеть, что класс цв-10 или кол-см-10 есть, но он просто не переключаясь на этот медиа-запрос, как это следует, когда окно просмотра является меньшим size..the Col-мД точка останова сохраняется. HTML Text Text SCSS .overlay {позиция: фиксированная; ширина: 70%; высота: 100vh; верх: 0; право: 0; внизу: 0; цвет фона: ракушка; Z-индекс: 2; курсор: указатель; } .Bg-IMG {фон: URL ( 'bgimg4.jpg') нет повтора центра центра не фиксируется; -webkit-фон-размер: крышка; -moz-фон-размер: крышка; -o-фон-размер: крышка; фон-размер: крышка; высота: 100vh; } {.Opaque непрозрачность: 0,7; } .Hero {фон: белый; Маржа: 30vh авто 0; обивка: 15px; коробка-тень: 6px 7px 4px -3px RGBA (0,0,0,0.6); }. внутренний герой {границы: 1px черного цвета; высота: 100%; } .Hero-текст {дисплей: встроенный-флекс; обосновывать-содержание: центр; семейство шрифтов: «Койот»; Размер шрифта: 2rem; черный цвет; } .Text-топ {обивка: 40px 10px 0px; письмо-интервал: 13px; } .Text-BTM {обивка: 0px 10px 40px; письмо-интервал: 8px; } .Hero-иконки {дисплей: встроенный-флекс; обосновывать-содержание: центр; }
Belder