Вопросы с тегом «ruby-on-rails»

Ruby on Rails - это полнофункциональная платформа веб-приложений с открытым исходным кодом, написанная на Ruby. Он следует популярной модели фреймворка MVC и известен своим подходом «соглашение поверх конфигурации» при разработке приложений.

6
Если строка пуста, вернуть какое-то значение по умолчанию
Часто мне нужно проверить, не является ли какое-то значение пустым, и написать вот так: «Нет данных»: @user.address.blank? ? "We don't know user's address" : @user.address А когда у нас есть порядка 20-30 полей, которые нужно обрабатывать таким образом, это становится некрасивым. Я сделал расширенный класс String с orметодом class String …

11
Как использовать вспомогательный метод number_to_currency в модели, а не в представлении?
Я хотел бы использовать to_dollarв своей модели такой метод: module JobsHelper def to_dollar(amount) if amount < 0 number_to_currency(amount.abs, :precision => 0, :format => "-%u%n") else number_to_currency(amount, :precision => 0) end end end class Job < ActiveRecord::Base include JobsHelper def details return "Only " + to_dollar(part_amount_received) + " out of " …

7
Ruby on Rails: как сортировать по двум столбцам с помощью ActiveRecord?
Я хочу отсортировать по двум столбцам: один - DateTime ( updated_at), а другой - десятичный (цена) Я хотел бы иметь возможность сначала сортировать по updated_at, а затем, если в один день появляется несколько элементов, сортировать по цене.

1
Как Rails отслеживает, какие миграции были выполнены для базы данных?
Согласно документу Rails: http://guides.rubyonrails.org/migrations.html «Active Record отслеживает, какие миграции уже были выполнены, поэтому все, что вам нужно сделать, это обновить исходный код и запустить rake db: migrate». Как ActiveRecord на самом деле это делает? Где Active Record хранит данные? Я подозреваю, что это может храниться в самой базе данных? Где-то …

4
Rails отображает массив хэшей на один хеш
У меня есть такой массив хэшей: [{"testPARAM1"=>"testVAL1"}, {"testPARAM2"=>"testVAL2"}] И я пытаюсь сопоставить это с одним хешем следующим образом: {"testPARAM2"=>"testVAL2", "testPARAM1"=>"testVAL1"} Я добился этого, используя par={} mitem["params"].each { |h| h.each {|k,v| par[k]=v} } Но мне было интересно, можно ли сделать это более идиоматическим способом (желательно без использования локальной переменной). Как я …

5
Rails автоматически назначает идентификатор, который уже существует
Создаю новую запись вот так: truck = Truck.create(:name=>name, :user_id=>2) В моей базе данных сейчас есть несколько тысяч объектов для грузовиков, но я назначил идентификаторы нескольким из них, так что некоторые идентификаторы остались доступными. Итак, что происходит, rails создает элемент с id = 150, и он отлично работает. Но затем он …

5
Mongodb: Что нужно знать перед использованием? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 6 лет назад . Уточните этот вопрос Я начинаю хобби (некоммерческий) проект с …

8
Как переименовать контроллер и модель рельсов в проекте
Я запустил приложение Rails, и все работает нормально. Но теперь я хотел бы переименовать контроллер и связанную с ним модель: Хотел поменять Corpsконтроллер на Storesтакой же (без финала) для модели. Посмотрев в Google, люди предложили уничтожить, а затем снова сгенерировать контроллер и модель. Проблема в том, что он сотрет фактический …

5
Как включить ведение журнала отладки SQL для ActiveRecord в тестах RSpec?
У меня есть несколько тестов RSpec для моих моделей, и я хотел бы включить ведение журнала SQL ActiveRecord так же, как я это вижу в режиме сервера Rails. Как это сделать? Я начинаю свои тесты с RAILS_ENV=test bundle exec rspec my/test_spec.rb Благодарность

23
PG undefinedtable ошибка отношения пользователей не существует
Я видел этот вопрос раньше, но только для rspec. Я еще не создал тест, потому что он слишком сложен для меня, но однажды я сделаю это! :П Я получаю эту ошибку, когда пытаюсь зарегистрироваться / войти в свое приложение. Я использовал devise для создания пользователя, а также omniauth2 для входа …

2
Как хранить данные в S3 и разрешить пользователю безопасный доступ с помощью клиента rails API / iOS?
Я новичок в написании Rails и API. Мне нужна помощь с решением для хранения S3. Вот моя проблема. Я пишу API для приложения iOS, где пользователи входят в систему с помощью API Facebook на iOS. Сервер проверяет пользователя по токену, который Facebook выдает пользователю iOS, и выдает временный токен сеанса. …

9
Разделять сеанс (файлы cookie) между поддоменами в Rails?
У меня есть настройка приложения, в которой каждый пользователь принадлежит компании, и у этой компании есть поддомен (я использую поддомены в стиле basecamp). Проблема, с которой я столкнулся, заключается в том, что rails создает несколько файлов cookie (один для lvh.me, а другой для subdomain.lvh.me), что вызывает довольно много сбоев в …

6
Сохранение нескольких объектов за один вызов в рельсах
У меня есть метод в рельсах, который делает что-то вроде этого: a = Foo.new("bar") a.save b = Foo.new("baz") b.save ... x = Foo.new("123", :parent_id => a.id) x.save ... z = Foo.new("zxy", :parent_id => b.id) z.save Проблема в том, что чем больше я добавляю сущностей, тем дольше это занимает. Я подозреваю, …

4
Очистить очередь sidekiq
У меня есть этот рабочий, который бежит вечно. class Worker include Sidekiq::Worker sidekiq_options queue: "infinity", retry: true def perform(params) # ... self.class.perform_in(30.seconds, params) end end Проблема в том, что я загружаю воркеров при запуске, вот так. config/initializers/load_workers.rb Rails.application.config.after_initialize do if ENV["SIDEKIQ"] == "1" Worker.perform_async({}) end end Используя это, чтобы запустить …

3
Как мне вызвать исключение в Rails, чтобы оно вело себя как другие исключения Rails?
Я хотел бы вызвать исключение, чтобы оно делало то же самое, что и обычное исключение Rails. В частности, покажите исключение и трассировку стека в режиме разработки и покажите страницу «К сожалению, что-то пошло не так» в рабочем режиме. Я пробовал следующее: raise "safety_care group missing!" if group.nil? Но он просто …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.