Вопросы с тегами [ruby]

1

голосов
5

ответ
69

Просмотры

Объединить строку, если она не является пустой

Можно ли в одной строке для печати ERROR_DETAILS только если он не пустой или ноль? LOG_ERR ( "# {error_code} - {# ERROR_DETAILS}") Я предполагаю, что я мог бы установить ERROR_DETAILS = '' на самом верху. Мне интересно, если я могу избежать этой строки кода.
userMod2
1

голосов
2

ответ
92

Просмотры

Пассажир и rbenv вопрос - несовместимая версия библиотеки

В последнее время я переехал из РВМ в Rbenv. Я бегу кучу разных приложений рельсов (каждый из них имеет другую версию рубиновый) с пассажиром и Nginx. Тем не менее, я получаю сообщение об ошибке для двух приложений при попытке загрузить их: /user_folder/.rbenv/versions/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `требуется ': несовместимая версия библиотеки - /usr/local/Cellar/passenger/6.0.2_1/libexec/buildout/ruby/ruby-2.3.3-x86_64-macosx/passenger_native_support.bundle (со смертельным исходом) от /user_folder/.rbenv/versions/2.3. 3 / Библиотека / рубин / 2.3.0 / RubyGems / core_ext / kernel_require.rb: 55: в `требуют» от /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb: 427: в `load_native_extension» из /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb:103: в `load_from_buildout_dir 'из /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb:39:in` try_load' от /usr/local/Cellar/passenger/6.0.2_1/ libexec / SRC / ruby_supportlib / phusion_passenger / native_support.rb: 50: в `начале 'из /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb:443:in`' Другое приложения работают хорошо, и те работы, когда я использую WEBrick (автономный) вместо этого. Но по какой-то причине, у меня есть проблемы, делая это с пассажиром. Я не уверен, является ли это совпадение или нет, но оба приложения у меня есть проблемы, с которыми работает рубиновый v2.3.3. Любая идея о том, что происходит? от /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb:50:in `начать» от /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ ruby_supportlib / phusion_passenger / native_support.rb: 443: в `» Другие приложения работают хорошо, и те работы, когда я использую WEBrick (автономный) вместо этого. Но по какой-то причине, у меня есть проблемы, делая это с пассажиром. Я не уверен, является ли это совпадение или нет, но оба приложения у меня есть проблемы, с которыми работает рубиновый v2.3.3. Любая идея о том, что происходит? от /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb:50:in `начать» от /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ ruby_supportlib / phusion_passenger / native_support.rb: 443: в `» Другие приложения работают хорошо, и те работы, когда я использую WEBrick (автономный) вместо этого. Но по какой-то причине, у меня есть проблемы, делая это с пассажиром. Я не уверен, является ли это совпадение или нет, но оба приложения у меня есть проблемы, с которыми работает рубиновый v2.3.3. Любая идея о том, что происходит? и те работы, когда я использую WEBrick (автономный) вместо этого. Но по какой-то причине, у меня есть проблемы, делая это с пассажиром. Я не уверен, является ли это совпадение или нет, но оба приложения у меня есть проблемы, с которыми работает рубиновый v2.3.3. Любая идея о том, что происходит? и те работы, когда я использую WEBrick (автономный) вместо этого. Но по какой-то причине, у меня есть проблемы, делая это с пассажиром. Я не уверен, является ли это совпадение или нет, но оба приложения у меня есть проблемы, с которыми работает рубиновый v2.3.3. Любая идея о том, что происходит?
Ariel Scherman
1

голосов
2

ответ
806

Просмотры

API вызовов из жидкости Shopify в

Я пишу пытаюсь вызвать Instagram API из моего интернет-магазина на Shopify. Я не могу использовать JavaScript, потому что Instagram не позволяет запрос. Это не плохой вызов, или ошибка, они просто отрицать. Таким образом, я использую жидкость для вызова API. Я интересно, если есть что-то подобное локон PHP, что я мог бы использовать с жидкостью. Кто-нибудь знает о таких вещах? Вот то, что я до сих пор: {% правопреемник вызова = конечная точка | добавить: Титулы%} {{открытый (вызов)}} Это ничего не outputing, хотя я полагал, что это будет выводить логическое значение. «Вызов» переменная действительно правильно. Любая помощь будет здорово, спасибо!
Anthony
1

голосов
1

ответ
1k

Просмотры

sqlite3 установить проблемы на Mac OS Сьерры

Привет я очень новый на то, что им делать здесь. Я попытался следующие несколько отличается установить направляющие для установки рубин на рельсах и, кажется, застревают в той же точке каждый раз, и это связано с sqlite3 это дает мне сообщение об ошибке, которое выглядит следующим образом. Я не знаю, как удалить его, так что я могу попробовать начать все сначала и сделать это снова. Сообщение об ошибке ниже произошла ошибка при установке sqlite3 (1.3.5), и Bundler не может продолжаться. Убедитесь в том, что драгоценный камень установить sqlite3 -v «1.3.5» успешно до того пакетирования
C Wagner
1

голосов
4

ответ
871

Просмотры

Как выбрать конкретный арендатор после ввода в консоли?

Код ниже, хранится в конфигурационном / инициализаторах / console.rb работает только в первый раз, когда я CLI Exec Рельсы консоли. При выходе и снова войти, не отображается сообщение выбора, но предварительный просмотр выбранного арендатором загружен. если они определены? (Rails :: Консольные) || ? $ PROGRAM_NAME.include ( 'весна') Арендаторы = Apartment.tenant_names.sort по умолчанию = tenants.first помещает "Доступные арендаторам: # {tenants.join ( '')}" печать «Выбор арендатора (# {} по умолчанию): "арендатор = gets.strip Apartment :: Tenant.switch! tenants.include? (арендатор)? арендатор: по умолчанию конец я хочу каждый раз при входе на рельсы консоли попросить то, что арендатор будет загружен. Спасибо!
Bruno Wego
1

голосов
3

ответ
71

Просмотры

Как пройти по всем параметрам метода отправки

Question When in a method, how can I pass on all parameters provided as part of the method sending to another method sending? The parameters should all be named in the sense that there are no placeholders/catchalls like *args but they can be a mix of keyword arguments and non keyword arguments. Additionally, the inner method send is not super. Example (pseudocode) def some_method(a_parameter, a_named_parameter:) ...do something... some_other_method([send with original parameters]) ...do something else... end Related question Is there a way to access method arguments in Ruby? has been asked 7 years ago. Ugly hack Based on what I have found, it is possible to do something like this for keyword parameters: def some_method(a_named_parameter:, another_named_parameter:) ...do something... params = method(__method__) .parameters .map { |p| [p[1], binding.local_variable_get(p[1])] } .to_h some_other_method(**params) ...do something else... end And this for non-keyword parameters: def some_method(a_named_parameter, another_named_parameter) ...do something... params = method(__method__) .parameters .map { |p| binding.local_variable_get(p[1]) } some_other_method(*params) ...do something else... end Based on the information returned by method(__method__).parameters one could also work out a solution that would work for both, but even given that it would be possible to extract all of this into a helper, it is way to complicated.
ulferts
1

голосов
1

ответ
44

Просмотры

неизвестный атрибут с полиморфной ассоциации

В моем интернет-магазине у меня есть таблицы продуктов и размер, и я думаю, что нужно добавить таблицу Restocking Вместо обновления продукта, я думаю, это лучше иметь таблицу RESTOCKING тогда я мог бы отслеживать даты, когда я добавил новые размеры, количество и почему бы не новые цены (покупка и продажа) ... и создать статистику ... Вы это правильно? После того, как Restocking создается соответствующий продукт обновляется с новым количеством и ценой? Ну, так он начал так: #product HAS_MANY: размеры accepts_nested_attributes_for: размеры, reject_if:: all_blank, allow_destroy: истинный #Size belongs_to: продукт Таблица Restocking должен иметь размеры атрибутов (например, продукт) Я считаю, что я должен использовать полиморфный ассоциации, но как я должен обновить схему, что я должен добавить, удалить? Так, так как я добавил RESTOCKING модель, мои модели выглядят следующим образом: #product HAS_MANY: размеры, inverse_of:: продукт, зависит:: уничтожить, как:: ощутимое has_many: restockings accepts_nested_attributes_for: размеры, reject_if:: all_blank, allow_destroy: истинный #Restocking has_many: размеры, как:: ощутимое belongs_to: продукт accepts_nested_attributes_for: размеры, reject_if:: all_blank, allow_destroy: истинный #Size belongs_to: продукт belongs_to: пополнение запасов belongs_to: ощутимый, полиморфный: правда, class_name: "Размер" schema.rb create_table "размеры", сила:: каскадный сделать | т | t.string "size_name" t.integer "количество" t.bigint "PRODUCT_ID" t.datetime "created_at", NULL: ложные t.datetime "updated_at", NULL: ложные t.integer "quantity_stock" t.index [ "product_id "], название: " , Нуль: ложные t.string "цвет" t.integer "user_id" t.json "вложения" t.string "бренд" t.string "ссылка" t.decimal "цена" t.decimal "buying_price", точность: 10 , масштаб: 2 t.index [ "category_id"], название: "index_products_on_category_id" конец на данный момент у меня есть несколько ошибок, как в ProductsController Защиты нового @product = Product.new @ product.sizes.build конца ошибки: ActiveModel :: UnknownAttributeError в / админ / продукции / новый неизвестный атрибут «sizeable_id» для размера. Вы можете зажечь меня на миграциях, которые я должен изменить? Предложения приветствуются строка "ссылка" t.decimal "цена" t.decimal "buying_price", точность: 10, масштаб: 2 t.index [ "category_id"], название: "index_products_on_category_id" конец На данный момент у меня есть несколько ошибок, как в ProductsController защиту новый @product = Product.new @ product.sizes.build конец ошибки: ActiveModel :: UnknownAttributeError в / админ / продукции / новый неизвестный атрибут 'sizeable_id' для размера. Вы можете зажечь меня на миграциях, которые я должен изменить? Предложения приветствуются строка "ссылка" t.decimal "цена" t.decimal "buying_price", точность: 10, масштаб: 2 t.index [ "category_id"], название: "index_products_on_category_id" конец На данный момент у меня есть несколько ошибок, как в ProductsController защиту новый @product = Product.new @ product.sizes.build конец ошибки: ActiveModel :: UnknownAttributeError в / админ / продукции / новый неизвестный атрибут 'sizeable_id' для размера. Вы можете зажечь меня на миграциях, которые я должен изменить? Предложения приветствуются новый @ product.sizes.build конец ошибка: ActiveModel :: UnknownAttributeError в / админ / продукции / новый неизвестный атрибут «sizeable_id» для размера. Вы можете зажечь меня на миграциях, которые я должен изменить? Предложения приветствуются новый @ product.sizes.build конец ошибка: ActiveModel :: UnknownAttributeError в / админ / продукции / новый неизвестный атрибут «sizeable_id» для размера. Вы можете зажечь меня на миграциях, которые я должен изменить? Предложения приветствуются
johan
1

голосов
3

ответ
559

Просмотры

Two indexes in Ruby for loop

может у вас есть рубин для цикла, который имеет два индекса? а именно: для I, J в 0..100 сделать что-то конец не могу найти ничего в Google EDIT: Добавление более подробно мне нужно сравнить два различных массивов, как такой индекс: Array1: array2: 0 аа 1 аб 2 аб 3 аб 4 бб 5 CB 6 дБ 7 дБ 8 ес 9-е изд-е изд 10 11 12 е е Но, зная, что они оба имеют одни и те же элементы (ABCDE) Это моя логика в псевдо,
mhz
3

голосов
1

ответ
16

Просмотры

Is there a way to convert binary data into a data type that will allow ActiveStorage to attach it as an image to my User model

Я поражая апи, чтобы получить изображение, которое они сохранили и использовать его в качестве профиля ПОС для пользователей нашего приложения. Я использую Ruby On Rails и ActiveStorage с АМС прикрепить и сохранить изображение. То, что они посылают назад это: { "Статус" => "общие", "ценности" => [{ "$ OBJECTTYPE" => "данные" "BinaryData" => "/ 9J / 4AAQSkZJRgABAQAASABIAAD / 4QBMRXhpZgAAT .... .KK5tT / 9к =»,„mime_type“=>„изображение / JPEG“,„метаданные“=> {„обрезанные“=> ложным}}]} Я пробовал много разных способов, чтобы прикрепить его и манипулировать данными, такими как просто приложив ее, как это, Base64.decode64, Base64, encode64. Я также попытался создать новый файл, а затем присоединение этого. Вот некоторые примеры: данные = Base64.decode64 (Base64.encode64 (ответ [: selfie_image] [ "ценность" присоединять (out_file) Он держит либо говоря прикрепление равна нулю или, в зависимости от того, как я манипулировать данными он будет говорить не тип заголовка содержание JPEG файла неправильно, и бросить, что как ошибка изображения магическом. Как я могу манипулировать эти данные, чтобы иметь возможность прикрепить его в качестве изображения для наших пользователей с ActiveStorage?
Alex Gonzalez
1

голосов
1

ответ
123

Просмотры

Проблемы зарегистрироваться на Facebook с рубином на рельсах

когда я подписываю с помощью facebook мой URL является HTTP: // локальный: 3000 / регистрация, то она будет меняться к HTTP: // локальный: 3000 / регистрация # = но это обыкновение позвольте мне войти в систему, что единственное, что он меняет на этой странице, просто URL-адрес. Класс OmniauthCallbacksController-регулятора <Придумайте :: OmniauthCallbacksController Защиту facebook # Вы должны реализовать метод ниже в модели (например, приложение / модели / user.rb) @user = User.from_omniauth (request.env [ "omniauth.auth"]), если @ user.persisted? sign_in_and_redirect @user,: события =>: # Эта аутентификация выбросит если @user не активирован set_flash_message (: уведомление,: успех,: вид => "Facebook") \ если is_navigational_format? еще сессия [ "devise.facebook_data"] = request.env [ "omniauth.auth" ] Redirect_to new_user_registration_url конец конец класс конца отказ Защиты redirect_to root_path конечного пользователя User <ApplicationRecord # Include по умолчанию разработать модули. Другие доступны: #: confirmable,: запираемые: timeoutable и: omniauthable Разрабатывают: database_authenticatable,: регистрируемые,: возмещены,: запоминающиеся,: отслеживается,: подтверждаемые,: confirmable,: omniauthable Подтверждает: FULLNAME, наличие: правда, длина: {максимальное значения: 50} Защита self.from_omniauth (аутентификация) пользователь = User.where (электронная почта: auth.info.email) .first если возвращение пользователь еще где (поставщик: auth.provider, UID: auth.uid) .first_or_create делать | пользователь | user.email = auth.info.email user.password = Devise.friendly_token [0,20] user.fullname = auth.info.name user.image = auth.info. изображение user.uid = auth.uid user.provider = auth.provider # Если вы используете confirmable и поставщик (ы) вы используете проверки электронной почты, # раскомментируйте строку ниже, чтобы пропустить подтверждение электронной почты. user.skip_confirmation! конец конец конец конец
AB74574
1

голосов
0

ответ
157

Просмотры

Is it possible to use IO.pipe for inter-thread communication in Ruby?

В примере рубин IO.pipe из документации, одно сообщение передается через процессы. Я хотел сделать что-то подобное, с двумя отличиями: использовать потоки вместо процессов использовать трубу для постоянного обмена сообщений, а не для сообщения разового Это является очевидным, но не рабочим код: сподите, сог = IO.pipe reader_thread = Thread.new (е) делать | е | data_received = rd.read ставит "Read: # {} data_received.inspect" конец write_thread = Thread.new (Wr) делать | WR | wr.write «Сообщение» write_thread.join reader_thread.join wr.flush конец, который вызывает reader_thread повесить на rd.read. Я мог бы сделать его работу с помощью IO # read_nonblock: reader_thread = Thread.new (е) делать | е | data_received = \ начинает rd.read_nonblock (100) спасательный IO :: WaitReadable, IO :: EAGAINWaitReadable IO.select ([е]) повторить конечные путы "
Marcus
1

голосов
1

ответ
16

Просмотры

Как выполнить .sh файл в рубине на рельсах

Я пытаюсь выполнить .sh файл в индексных рельсах действия. Стараюсь Exec «ш приложение / контроллеры / myscript.sh» это выполнить его в терминале, то остановите сервер! Я не знаю, почему. И я пытаюсь вывод = система «ш приложение / контроллеры / myscript.sh» это возвращает истину в браузере не то, что в .Sh файле Заранее спасибо :)
yuna
1

голосов
1

ответ
625

Просмотры

Как создать методы заглушек в рельсах 5 и MiniTest

У меня есть следующий код, и я пытаюсь создать заглушки для него, так что я могу поместить тесты без него делать реальный заказ. порядок Защиту клиент = StraightServerKit :: Client.new (gateway_id: "123", секрет: "123") о = StraightServerKit :: Order.new (количество: 1) mycelium_order = client.orders.create (о) конец Как я STUB создавание метод? Это моя попытка, но это не вызывает погасил метод и пытается сделать реальный вызов апи (этот метод => client.orders.create (о)) тест «должен создать заказ» сделать макет = MiniTest :: Mock.new защиту mock.apply; правда; конечный клиент = StraightServerKit :: Client.new (gateway_id: "ххх", секрет: "ххх") client.orders.stub: создавать, макет делать {return_data = "Данные"} пост post_order_path, Титулы: {порядок: {сумма: 10}} assert_response: успех конец method1 обновил с помощью stub_any_instance драгоценного камня, но до сих пор не работает из-за способом быть вложенным требуется «MiniTest / stub_any_instance» тест «должен создать заказ» сделать клиент = StraightServerKit :: Client.new (gateway_id: «ASDF »секрет: "ASDF"); client.stub_any_instance (: заказ, "данные") сообщение post_order_path, PARAMS: {Последовательность: {количество: 10}} assert_response: Успех конца Ошибка: DashboardControllerTest # test_should_create_order: NoMethodError не определено методом `stub_any_instance» для # (хотя stub_any_instance отлично работает с гася String.length) method2: требует 'мокко / mini_test' теста "должен создать заказ" сделать StraightServerKit :: Client.any_instance.stubs (: новый) .returns ( "тест"
Jamesla
1

голосов
3

ответ
220

Просмотры

Сохранить только время в рельсах

У меня есть два поля времени в таблице, т.е. start_time и END_TIME. Когда я исполняю MyModel.save (start_time: '12: 34' ), оно сохраняется с добавлением даты (Сб, 1 января 2000 7:25:00 UTC +00: 00). Я хочу сохранить только время. Я использую Rails5
Chakreshwar Sharma
1

голосов
1

ответ
632

Просмотры

Overriding active admin session controller

I need to add two factor authentication for active admin. Whenever admin tries to login I need to verify them before giving access. Verification can be done either by sending OTP to email or mobile. So I need to over ride the Sessions controller for active admin devise so that I can add the functionality to it. I found a solution which said that we can do that inside initializers folder. I over ride th create method and its working fine. #config/initializers/active_admin_devise_sessions_controller.rb class ActiveAdmin::Devise::SessionsController include ::ActiveAdmin::Devise::Controller def create if params[:admin_user].present? email = params[:admin_user][:email] password = params[:admin_user][:password] admin_user = AdminUser.find_by_email(email) if admin_user.present? && admin_user.valid_password?(password) @admin_user = admin_user redirect_to verification_method_path end else flash[:error] = "No User Found" redirect_to :back end end def verification_method end end now my problem is I want to add few methods so I can render some views for verification process for login. And I am not able to add any custom routes for active admin in session controller so I can call it and use as needed. my active admin routes devise_for :admin_users,ActiveAdmin::Devise.config ActiveAdmin.routes(self) my custom GET route to render second form for login verification #active admin session controller verification routes get '/admin/verification_method' => 'active_admin/devise/sessions#verification_method', via: :get, as: "verification_method" I didnt find anything similar to my problem. Please guide me how can this be done.
pawan kumar
1

голосов
1

ответ
317

Просмотры

Как загрузить изображения из React Native App непосредственно Cloudinary с помощью Attachinary в Rails API

Я пытаюсь отправить файл из мобильной библиотеки фотографий в API Rails, а затем загрузить его на Cloudinary с помощью Attachinary, и я получаю следующее сообщение об ошибке при этом так: Errno :: ENOENT - Нет такого файла или каталога @ rb_sysopen - файл: /// Пользователи / hugoh / Library / Developer / CoreSimulator / Devices / 7270BD44-FFEC-423b-8859-933B9A3FD396 / данные / Контейнеры / Data / Application / 9BD2CA62-FDE5-4142-BA25-9DB3713123D6 / Библиотека / кэши / ExponentExperienceData /%40anonymous%2Ftestapp-react-native-e2f12178-7fc9-4a5d-810c-c446c8edd435/ImagePicker/9297C84C-F7B5-49AF-93F3-5A080FCFF4C2.jpg: Я загрузив изображение в Cloudinary со следующим кодом в моем Rail Апи приложение: Cloudinary :: Uploader.upload (PARAMS [: изображение])
Hugo
1

голосов
2

ответ
69

Просмотры

Захват спасся синтаксис многострочный с Parslet и Руби

Я хочу написать парсер с Parslet в Ruby, который понимает несколько простой конфигурацию синтаксиса: альфа = один беты = два \ три гаммы = четыре с точки зрения синтаксического анализатора, то обратный слеш новой строки, так что, когда анализируется значение бета является twothree. Обратный слеш в конфигурационном файле, хотя (т.е. выше текст является прямым представлением - это не то, что вы хотите поместить внутри Руби строки кавычки). В Ruby, он может быть представлен как "альфа = один \ nbeta = два \\\ nthree \ ngamma = четыре". Моя текущая попытка нормально с настройками однолинейными, но не может справиться с подходом с участием нескольких строк: требуется «parslet» класс SettingParser <Parslet :: правило Parser (: термин) {матч ( "[A-Za-z0-9_ ] ") повторение (1)} правило (: значение) делать (матч (" [^ \ п] ") повтор (1) >> матч. (" [^ \\\ п] ") >> . Ул ( "\\\ п")) повтор (0) >> матч ( "[^ \ п]") повтор (0) Конец правила (:.. Пространство) {матч ( "\\ S") повтор ( 1)} правил (: настройка) делают term.as (: ключ) >> space.maybe >> ул ( "=") >> space.maybe >> value.as (значение:) конец правила (: вход) { setting.repeat >> space.maybe} корень (: ввод) конец Интересно, если проблема связана с тем, как Parslet разбирает вещи. первая часть моего правления ценности захватить ли столько символов, сколько возможно, не заботясь о контексте последующих частей? вход) {setting.repeat >> space.maybe} корень (: ввод) конец Интересно, если проблема связана с тем, как Parslet разбирает вещи. первая часть моего правления ценности захватить ли столько символов, сколько возможно, не заботясь о контексте последующих частей? вход) {setting.repeat >> space.maybe} корень (: ввод) конец Интересно, если проблема связана с тем, как Parslet разбирает вещи. первая часть моего правления ценности захватить ли столько символов, сколько возможно, не заботясь о контексте последующих частей?
pat
1

голосов
1

ответ
364

Просмотры

User signed in, but set to nil using Rails and Devise

devise (4.4.0) Rails 5.1.4 I'm seeing this question asked a lot, but not finding the answer that works for me. I am showing that I am signing up and logging in, but current user set to nil. I'm thinking maybe it is the cookies, but I'm having a hard time parsing exactly how to fix that. One solution suggested adding Rails.application.config.session_store :cookie_store, key: '_bejoy_session', domain: :all to the config > session_store.rb which I did not have, but created and included. I'm just not sure what I'm missing here. application controller: class ApplicationController < ActionController::Base protect_from_forgery with: :exception before_action :configure_permitted_parameters, if: :devise_controller? helper_method :current_user helper_method :admin def current_user if session[:user_id] @current_user ||= User.find(session[:user_id]) end end def authorize if !current_user flash[:alert] = "You aren't authorized to visit that page." redirect_to '/' end end def admin_authorize if !current_user || current_user.admin == false flash[:alert] = "Only administrators can visit that page." redirect_to new_user_session_path end end def admin current_user && current_user.admin end protected def configure_permitted_parameters devise_parameter_sanitizer.permit(:sign_up, keys: [:username, :admin, :email]) end end routes.rb Rails.application.routes.draw do root :to => 'contents#index' resources :contents resources :visitors devise_for :users, controllers: { sessions: 'users/sessions', passwords: 'users/passwords', registrations: 'users/registrations' } end Terminal: Started POST "/users/sign_in" for 127.0.0.1 at 2018-01-07 12:31:25 -0800 Processing by Users::SessionsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"6a0yiBCkmEN0W68xN/lVZH71YhT5i5tMEkFFYqnoIvMU0NJjH3LM3hPG+8yO3D1tXskh9pSA+PRFVKDmiKzN6A==", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Log in"} User Load (1.9ms) SELECT "users".* FROM "users" WHERE "users"."email" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["email", "[email protected]"], ["LIMIT", 1]] (0.1ms) BEGIN SQL (2.0ms) UPDATE "users" SET "current_sign_in_at" = $1, "last_sign_in_at" = $2, "sign_in_count" = $3, "updated_at" = $4 WHERE "users"."id" = $5 [["current_sign_in_at", "2018-01-07 20:31:26.091228"], ["last_sign_in_at", "2018-01-07 20:29:10.402839"], ["sign_in_count", 5], ["updated_at", "2018-01-07 20:31:26.092407"], ["id", 2]] (0.4ms) COMMIT Redirected to http://localhost:3000/ Completed 302 Found in 152ms (ActiveRecord: 4.5ms) Started GET "/" for 127.0.0.1 at 2018-01-07 12:31:26 -0800 Processing by ContentsController#index as HTML User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["id", 2], ["LIMIT", 1]] **current_user :nil session id request :353a5e1d2bd295e8ac665e22e8f31314 user_signed_in? :false** Rendering contents/index.html.erb within layouts/application Content Load (0.2ms) SELECT "contents".* FROM "contents" Rendered contents/index.html.erb within layouts/application (1.5ms) Rendered partials/_author_photo_contact_block.html.erb (0.4ms) Completed 200 OK in 53ms (Views: 49.1ms | ActiveRecord: 0.5ms) contents controller: class ContentsController < ApplicationController before_action :authenticate_user! # before_action :set_content, only: [:show, :edit, :update, :destroy] def index @contents = Content.all logger.debug "current_user :#{current_user.inspect}" logger.debug "session id request :#{request.session_options[:id]}" logger.debug "user_signed_in? :#{user_signed_in?}" end def show end def new @content = Content.new end def edit end def create @content = Content.new(content_params) respond_to do |format| if @content.save format.html { redirect_to @content, notice: 'Content was successfully created.' } format.json { render :show, status: :created, location: @content } else format.html { render :new } format.json { render json: @content.errors, status: :unprocessable_entity } end end end def update respond_to do |format| if @content.update(content_params) format.html { redirect_to @content, notice: 'Content was successfully updated.' } format.json { render :show, status: :ok, location: @content } else format.html { render :edit } format.json { render json: @content.errors, status: :unprocessable_entity } end end end def destroy @content.destroy respond_to do |format| format.html { redirect_to contents_url, notice: 'Content was successfully destroyed.' } format.json { head :no_content } end end private def set_content @content = Content.find(params[:id]) end def content_params params.require(:content).permit(:main_image, :sidebar_image, :content, :sidebar) end end
1

голосов
1

ответ
758

Просмотры

sendgrid имя пользователя и пароль окружения переменные не читать, когда действие почтовая программа выполняется

ключ API, который был представлен во время установки Smtp»теперь я источник ./sendgrid.env я проверяю ENV, это показывает имя пользователя / пароль. Рельсы гр NotificationMailer.notification_email (@admin_email, @item) Поставлять Я вижу электронной почты получает журнал, но я получаю Net :: SMTPFatalError: 550 отправители не допускается Если я жёстко переменные ENV, аутентификация работает. Так что я не понимаю, почему переменные ENV не получают в процессе. пожалуйста, порекомендуйте т понять, почему переменные ENV не получают в процессе. пожалуйста, порекомендуйте т понять, почему переменные ENV не получают в процессе. пожалуйста, порекомендуйте
Robert
1

голосов
1

ответ
17

Просмотры

Почему «PG :: UndefinedColumn:» из колонки, которые приходят из драгоценных камней?

У меня камень с именем Foo. В этом драгоценном камне у меня есть 2 ветви: мастер и развиваться. В моем проекте я должен использовать разработки отрасли (которые содержат новые миграции). Так что в моей Gemfile добавить: драгоценный камень «Foo», мерзавец: «https://github.com/orsay/foo.git», филиал: «разработать» Затем запустить пакет установки затем повторно запустить свой сервер. Это ошибка, я получаю, когда я иду на локальном хосте: 3000: PG :: UndefinedColumn: ОШИБКА: колонка my_added_column не exist` Почему это происходит? Я не нужно импортировать миграции из камня ... Когда я бегу пучок шоу Foo код правильный. Любая идея, пожалуйста? :)
Orsay cp
1

голосов
1

ответ
213

Просмотры

Ruby HTTP post request authorization in header

Я пытаюсь написать несколько сценариев в Ruby, чтобы взаимодействовать с API Guild Wars 2 в (https://api.guildwars2.com/v2) В нижней части этой страницы, она имеет эту информацию: API-интерфейсы, которые требуют проверки подлинности необходимо сдать ключ API, принадлежащий к учетной записи, доступ. Ключ API должен иметь соответствующие разрешения, связанные с ним (/ v2 / tokeninfo может использоваться для проверки основных прав). Ключи могут быть сгенерированы на счет сайта ArenaNet. Ключи могут быть переданы или через параметр запроса или заголовок HTTP. Наши сервера не поддерживают preflighted запросов CORS, так что, если ваше приложение работает в браузере пользователя вам необходим пользователю параметр запроса. Для того, чтобы пройти через параметр запроса, включают в себя «? Access_token =» в запросе. Для того, чтобы пройти через заголовок HTTP, включают в себя "Аутентификация: Bearer (ключ API)". Код I»
Austin
1

голосов
2

ответ
43

Просмотры

Сохранить файлы не находятся под государственным / активы, а под другую папку

У меня есть проект Rails. Мои файлы настроены быть сохранены под RAILS_ROOT / государственный / активов. Теперь мы переходим на новый сервер, и я хочу, чтобы все файлы, которые будут читать и сохранить в другую папку. Скажем / extra_drive, который находится в другой папке, чем приложение Rails (даже не в / вар / WWW / HTML). Как я могу это сделать? С Apache? с настройкой Rails?
Noam B.
1

голосов
1

ответ
196

Просмотры

Разрабатывает сброс точки пароля электронной почты в неверный контроллер

Я включил devise_token_auth для входа с веба-приложения размещенным в других местах. Но я хотел бы также, чтобы иметь возможность войти в систему непосредственно в мой рельсы приложения. Мой routes.rb выглядит следующим образом: # ... devise_for: имена пользователей: API, по умолчанию: {Формат:: JSON} делать mount_devise_token_auth_for 'User', по адресу: 'Идента' # ... Для того, чтобы сбросить пароль веб-приложение посылает POST к / API / Иденту / паролю. При вышеуказанной конфигурации, ссылка в сообщении электронной почты для сброса пароля использует неправильный контроллер (один на пользователей / пароль). REDIRECT_URL не получает приложенное и пользователь видит регистрационную форму приложения рельсы, а не WebAPP: HTTP: // локальный: 3000 / пользователей / паролей / редактировать REDIRECT_URL = HTTP: // локальный: 8080 / reset_password & reset_password_token =. .. Если я закомментируйте строки devise_for: пользователи ссылку по электронной почте правильно, используя API / авториз / пароль / изменить: HTTP: // локальный:
Baleato
1

голосов
1

ответ
37

Просмотры

Почему я не могу маршрут методы заплаты одного контроллера к шоу методе еще рельсов-

Я не буду получать это сообщение об ошибке: Нет соответствующий маршрут [POST] «/ пользователей / 9» Я пытаюсь выяснить способ иметь метод обновления одного контроллера и использовать его в целях показательного метода другого контроллера , Это то, что мой файл маршрут выглядит. routes.rb Rails.application.routes.draw сделать корень 'приборные панели # индекс' devise_for: пользователи ресурсов: пользователи, только: [: показать] патч '/ пользователи /: идентификатор' => 'companyinfos # обновление' ставить «/ пользователей / : идентификатор»=> 'companyinfos # обновляют ресурсы: информационные панели, только: [: индекс] конец я найти правильный CompanyInfo через пользователей контроллер users_controller.rb класса UsersController <ApplicationController защиту показать @user = User.find (Params [ : ID]) @companyinfo = Companyinfo.find (current_user.id) конец конец и I» Что такое правильный способ пойти по этому поводу? UPDATE На самом деле, если я просто делать то, что сообщение об ошибке говорит мне, что это работает. Чудо правильно? Другой вопрос. Есть еще один способ иметь несколько маршрутов из разных контроллеров, указывающих на то же место? Или это лучший способ?
Goeken
1

голосов
0

ответ
73

Просмотры

MariaDB нечетным в простом использовании Active Record в различных серверах Debian 9 и Rails приложения

In a pair of OVZ-6 servers and same Ruby on Rails application, the simple select post comments (one-to-many association) are displaying the three existent comments but some full records at the end: Great solution for a big and old problem. This is a problem that I have started to web design years ago. Thanks for facilitating this css files, this really help us! [#, #, #] If there aren't comments it's displaying: [] The configuration of both servers, one fresh and other upgrade from Debian-8 is: Debian GNU/Linux 9 (stretch), Linux 4.9.0-1-amd64, x86-64. Apache 2.4.25 (Debian). Mysql 15.1 Distrib 10.1.26-MariaDB, debian-linux-gnu (x86_64), readline 5.2. (status below) Phusion Passenger 5.1.12. RVM 1.29.3. Ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-linux]. Rails 5.1.4. mysql2 (0.4.10) The BBDD status is: `$ sudo service mysql status` mariadb.service - MariaDB 10.2.12 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; ven Drop-In: /etc/systemd/system/mariadb.service.d +-migrated-from-my.cnf-settings.conf Active: active (running) since Wed 2018-01-10 11:58:23 UTC; 1 day Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 481 ExecStartPost=/bin/sh -c systemctl unset-environment Process: 478 ExecStartPost=/etc/mysql/debian-start (code=exited, s Process: 208 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recove Process: 202 ExecStartPre=/bin/sh -c systemctl unset-environment _ Process: 190 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root Main PID: 393 (mysqld) Status: "Taking your SQL requests now..." CGroup: /system.slice/mariadb.service +-393 /usr/sbin/mysqld The sql file is: SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; CREATE TABLE ar_internal_metadata ( key varchar(255) COLLATE utf8_bin NOT NULL, value varchar(255) COLLATE utf8_bin DEFAULT NULL, created_at datetime NOT NULL, updated_at datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; INSERT INTO ar_internal_metadata (key, value, created_at, updated_at) VALUES ('environment', 'development', '2018-01-10 16:44:47', '2018-01-10 16:44:47'); CREATE TABLE comments ( id bigint(20) NOT NULL, body varchar(255) COLLATE utf8_bin DEFAULT NULL, post_id bigint(20) DEFAULT NULL, created_at datetime NOT NULL, updated_at datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; CREATE TABLE posts ( id bigint(20) NOT NULL, title varchar(255) COLLATE utf8_bin DEFAULT NULL, body text COLLATE utf8_bin DEFAULT NULL, created_at datetime NOT NULL, updated_at datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; CREATE TABLE schema_migrations ( version varchar(255) COLLATE utf8_bin NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; ALTER TABLE comments ADD CONSTRAINT fk_rails_2fd19c0db7 FOREIGN KEY (post_id) REFERENCES posts (id); The schema.rb file is: ActiveRecord::Schema.define(version: 20180111151927) do create_table "posts", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin" do |t| t.string "title" t.text "body" t.datetime "created_at", null: false t.datetime "updated_at", null: false end create_table "comments", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin" do |t| t.string "body" t.bigint "post_id" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.index ["post_id"], name: "index_comments_on_post_id" end add_foreign_key "comments", "posts" end Through the rails console the select Post.last.comments shows the comments well. In other RoR apps built also using scaffolds, the show comments is producing the same error: Comments congratulations! [#] What can be the problem? How can we fix this error? How do you recommend to proceed? Thanks in advance!
consen
1

голосов
1

ответ
124

Просмотры

Фабрика для просмотра базы данных в factory_girl

Я использую Rails 5.0.2 с factory_girl_rails и RSpec. У меня есть 3 ассоциативных моделей, как это: /app/models/ticket.rb класс Ticket <ActiveRecord :: Base has_many: ticket_snapshots, foreign_key: "duckduck_ticket_id" конец /app/models/ticket_snapshot.rb класса TicketSnapshot <ActiveRecord :: Base belongs_to: duckduck_ticket, class_name: "билет" has_many: matched_issues_summary, class_name: "CookbookReportSummaryVw", foreign_key: "duckduck_ticket_snapshot_id" конец /app/models/cookbook_report_summary_vw.rb класс CookbookReportSummaryVw <ActiveRecord :: Base self.table_name = 'cookbook_report_summary_vw' belongs_to: duckduck_ticket_snapshot, class_name : "TicketSnapshot" belongs_to: duckduck_cookbook, class_name: "Cookbook" конец Как вы можете видеть, cookbook_report_summary_vw не совсем таблица базы данных, но это скорее вид базы данных (отлично работает в приложении, но это, кажется, factory_girl не нравится слишком много, я покажу вам ошибку позже) Вот мои factory_girl заводы вышеуказанные модели: заводы / tickets.rb FactoryGirl.define сделать завод: билет сделать название «11111111» фабричное «билет» TICKET_ID: ticket2 сделать название «что-то плохое случилось» выпуск «неизвестный» реквестера «duckie_duck» после того, как (: создать) сделать | билет | ticket.ticket_snapshots покажу вам ошибку позже) Вот мои factory_girl фабрики для вышеуказанных моделей: заводы / tickets.rb FactoryGirl.define сделать завод: билет сделать название «билет» TICKET_ID «11111111» завод: ticket2 сделать название «что-то плохое случилось» проблема " неизвестно»запрашивающий„duckie_duck“после того, как (: создать) делать | билет | ticket.ticket_snapshots покажу вам ошибку позже) Вот мои factory_girl фабрики для вышеуказанных моделей: заводы / tickets.rb FactoryGirl.define сделать завод: билет сделать название «билет» TICKET_ID «11111111» завод: ticket2 сделать название «что-то плохое случилось» проблема " неизвестно»запрашивающий„duckie_duck“после того, как (: создать) делать | билет | ticket.ticket_snapshots
Bijan Hoomand
1

голосов
1

ответ
388

Просмотры

Как исправить ошибку нагрузки CLI: `require_relative ': не может загрузить такой файл -Ruby

Я пробовал решение, предусмотренное на Stackoverflow, связанное с этой ошибкой. Я также попробовал пробы и ошибки, восстанавливая мой драгоценный камень, а ошибка все еще поднят. Ошибка ниже: ./bin/coding-schools:3:in require_relative ': не может загрузить такой файл - / главная / Jenhop8786 / временные / coding_schools / bin / Lib / coding_schools (LoadError) от ./bin/coding-schools:3 : в в моей папке бин мой файл выглядит следующим образом: #! / USR / бен / окр рубинового require_relative»CodingSchools ./lib/coding_schools' :: CLI.new.call в моем Lib папки мой файл выглядит следующим образом: require_relative" ./coding_schools/version "require_relative" ./coding_schools/cli»Directory Project: -> Временный -> coding_schools -> бин -coding-школы -console -setup -> Lib -cli.rb -coding_schools.rb -версия.
JenHop
1

голосов
1

ответ
49

Просмотры

Best way to handle multiple checks ruby

So I'm trying to write a converter for HSL to RGB (and eventually into hex) I'm following this colorspace conversion theory and I seem to be stuck on step 6 Now we need to do up to 3 tests to select the correct formula for each color channel. Let’s start with Red. test 1 – If 6 x temporary_R is smaller then 1, Red = temporary_2 + (temporary_1 – temporary_2) x 6 x temporary_R In the case the first test is larger then 1 check the following test 2 – If 2 x temporary_R is smaller then 1, Red = temporary_1 In the case the second test also is larger then 1 do the following test 3 – If 3 x temporary_R is smaller then 2, Red = temporary_2 + (temporary_1 – temporary_2) x (0.666 – temporary_R) x 6 In the case the third test also is larger then 2 you do the following Red = temporary_2 Ok lets do it for our Red value 6 x temporary_R = 6 x 0.869 = 5.214, so it’s larger then 1, we need to do test 2 2 x temporary_R = 2 x 0.869 = 1.738, it’s also larger then 1, we need to do test 3 3 x temporary_R = 3 x 0.869 = 2.607, it’s larger then 2, so we go for the last formula Red = temporary_2 = 0.0924 which rounded down is 0.09, which is a number we recognize from the RGB to HSL conversion So far I've monkey patched a function to take my HSL colours def toRGB(hue, sat, lum) temp_1 = case lum when lum < 0.0 lum x (1.0 * sat) when lum > 0.0 (lum + sat) - lum end temp_2 = (2 * lum) - temp_1.to_f h = (hue/360.0).round(4) temp_r = (h + 0.333).round(4) temp_r = temp_r + 1 if temp_r < 0 temp_r = temp_r - 1 if temp_r > 1 temp_g = h temp_b = (h - 0.333).round(4) temp_b = temp_b + 1 if temp_b < 0 temp_b = temp_b - 1 if temp_b > 1 red = #test 1 #test 2 #test 3 "#{red}" end I was trying to use a case statement red = case temp_r when 6 * temp_r < 1 temp_2 + (temp_1 - temp_2) * 6 * temp_r when 2 * temp_r < 1 temp_1 when 3 * temp_r < 2 temp_2 + (temp_1 - temp_2) * (0.666 - temp_r * 6) end but then I started re-reading the instructions and now I can't really see a way to do what I need in ruby. Maybe I'm over-thinking it. If you want to see the rest of my code in context you can see it here
LeggoMyEcho
1

голосов
1

ответ
61

Просмотры

Найти все пользователи, которые купили свою машину, прежде чем они были 18

Я хочу, чтобы найти все пользователи, которые купили свою машину, прежде чем они были 18. Мне нужен запрос, как этот: User.includes (: автомобиль) .где (автомобиль: {bought_at <(user.birthday + 18.years)}) Каким образом можно Я пишу такой запрос в Rails 5 с Postgresql? Спасибо
John Smith
1

голосов
1

ответ
113

Просмотры

Shopify приложение заряд не в состоянии сохранить

Ниже приведен код для Shopify единовременного-приложения заряда в Ruby. Я последовал за Shopify «добавить биллинг для своего приложения» страницы (https://help.shopify.com/api/tutorials/adding-billing-to-your-app) для кода, за исключением того, не нужно повторяющееся обвинение. Кроме того, я нашел кого-то, кто отправил их разовый заряда код, который очень похож на мой (https://ecommerce.shopify.com/c/shopify-apis-and-technology/t/one-time-application- зарядовой пример-для-Shopify рельсов приложения-489347). Защиту create_application_charge application_charge = ShopifyAPI :: ApplicationCharge.new (название: "MyApp", цена: 0,09, RETURN_URL: "https: \ / \ / myapp.herokuapp.com \ / activatecharge", тест: правда) сохранить = application_charge.save если сохранить перенаправлять application_charge. confirmation_url вернуться конец вспышка [: ошибка] = «спасброска работала: # {} сохранить» конец Вспышка всегда реагирует как ложная. Есть ли сбой при проверке подлинности, что бы предотвратить это? Или что-то, чтобы получить в магазин, чтобы принять заряд приложения? Я в недоумении, почему это не работает. Любая помощь будет принята с благодарностью, спасибо.
Brady
1

голосов
1

ответ
237

Просмотры

Rails. Создание пользователей DEViSE непосредственно из администрировать панели

Я использую разработать для создания пользователей непосредственно из консоли, в результате не используя: регистрируемый модуль. Способ создания пользователей из консоли, предоставляя электронную почту, пароль и password_conformation следующим образом: User.create (электронная почта: «[email protected]», пароль: «1234», password_conformation: «1234») Теперь я установлен Администрировать камень, и я хотел бы иметь возможность создавать пользователь непосредственно оттуда. Я уже могу редактировать пользовательские поля и уничтожить пользователь, но я не знаю, как создать их, так как ни один пароль или password_confirmation принадлежит к столу пользователя. Какие-нибудь мысли?
Ernesto G
1

голосов
1

ответ
43

Просмотры

Как отображать сообщения для людей, вы будете следовать?

Я новичок в рельсах, но после того, как я следовал Майкл Хартл рельсы мне было интересно, как просматривать сообщения для людей, вы будете следовать? Пользовательская модель класса User <ActiveRecord :: Base # Включить DEViSE по умолчанию модули. Другие доступны: #: confirmable,: запираемые: timeoutable и: omniauthable Разрабатывают: database_authenticatable,: регистрируемые,: возмещены,: запоминающиеся,: отслеживаются,: подтверждаемые has_many: должности, зависимый:: уничтожить has_many: active_relationships, class_name: «Отношения », foreign_key: "follower_id", в зависимости:: уничтожить has_many: passive_relationships, class_name: "Отношения", foreign_key: "followed_id", зависимое:: уничтожить has_many: следуя путем:: active_relationships, источник:: последовал HAS_MANY: последователей, через:: passive_relationships, источник:: последователь Защиту кормить following_ids = "SELECT followed_id FROM отношений WHERE follower_id =: user_id" Post.where ( "user_id IN ( # {following_ids}) или идентификатор_пользователь =: идентификатор_пользователь», user_id: ID) конец четкость следует (другой) active_relationships.create (followed_id: other.id) конец четкость неследовать (другое) active_relationships.find_by (followed_id: other.id) .destroy конец Защиты следующего (другое) following.include (другое) торец класс контроллера RelationshipsController <ApplicationController before_filter:? authenticate_user! Защита создать пользователь = User.find (PARAMS [: followed_id]) current_user. следовать (пользователю) respond_to делать | формат | . Format.html {redirect_to: назад} format.js конца конец Защиты уничтожить пользователь = Relationship.find (PARAMS [: идентификатор]), а затем current_user.unfollow (пользователь) respond_to сделать | формат | format.html {redirect_to: назад} format.js класса конец конец торцу Модель отношений <ActiveRecord :: Base belongs_to: повторитель, class_name: "Пользователь" belongs_to: а затем, class_name: "Пользователь" утверждает: follower_id, наличие: истинные Подтверждает: followed_id, присутствие: истинный конец Так что я надеялся, что это код? Я попытался current_user.followed_id.posts, но не получилось ... неследовать (пользователь) respond_to сделать | формат | format.html {redirect_to: назад} format.js класса конец конец торцу Модель отношений <ActiveRecord :: Base belongs_to: повторитель, class_name: "Пользователь" belongs_to: а затем, class_name: "Пользователь" утверждает: follower_id, наличие: истинные Подтверждает: followed_id, присутствие: истинный конец Так что я надеялся, что это код? Я попытался current_user.followed_id.posts, но не получилось ... неследовать (пользователь) respond_to сделать | формат | format.html {redirect_to: назад} format.js класса конец конец торцу Модель отношений <ActiveRecord :: Base belongs_to: повторитель, class_name: "Пользователь" belongs_to: а затем, class_name: "Пользователь" утверждает: follower_id, наличие: истинные Подтверждает: followed_id, присутствие: истинный конец Так что я надеялся, что это код? Я попытался current_user.followed_id.posts, но не получилось ... истинный конец Так что я надеялся, что это код? Я попытался current_user.followed_id.posts, но не получилось ... истинный конец Так что я надеялся, что это код? Я попытался current_user.followed_id.posts, но не получилось ...
JOJO
1

голосов
0

ответ
60

Просмотры

Rails 3.2.25 обновления до 4.0.0 - «неинициализированной постоянной ActiveRecord» на все активные записях запросов

Im в середине выполнения края рубин и рельсов обновления для веб-приложения, построенного в рельсах 2.3.18 и рубинового 1.9.3. Я постепенно обновляли версию рельсы и крепления брейки и все двигались вперед в устойчивом темпе. Я в настоящее время сделал Рубин 2.1 и рельсов 3.2.xx и сделали толчок к рельсам 4.0.0 я имел дело с многими перерывов и ошибок, так как 4.0.0 обновления и теперь может получить сервер, чтобы начать использовать рельсы с, но им теперь получает новую ошибку. Я не могу найти буквально все об этой ошибке в Интернете, чтобы им в надежде я буду лучше удачи здесь. Thx заранее. Это линия в моем контроллере, который вызывает эту ошибку. Имейте в виду, что это не мой код. Im обновление старой системы 8 лет. класс WpPosts <ActiveRecord :: Base establish_connection "блог" конец Это конкретная строка, стреляя ошибки, но я получаю эту ошибку там, где любой активная запись вызова. Даже simpley вызова модели в рельсах консоли получить мне эту же ошибку. Такие вещи, как вызывающий пользователь в рельсах консоли получить мне ту же самую ошибку. Я уже пробовал: камень установить ActiveRecord -v = 4.0.0, и что до сих пор получает мне ту же ошибку. Ive также unistalled всех других версий ActiveRecord. Существует очень короткий стек след которым заставляет меня верить в Railties Lib не загружается. Или, может быть, Theres проблемы с путем к этому Lib. приложение / модели / wp_posts.rb: 1: в `«приложение / контроллеры / default_controller.rb: 28: в `начале» это скриншот верхней части моего файла application.rb Даже simpley вызова модели в рельсах консоли получить мне эту же ошибку. Такие вещи, как вызывающий пользователь в рельсах консоли получить мне ту же самую ошибку. Я уже пробовал: камень установить ActiveRecord -v = 4.0.0, и что до сих пор получает мне ту же ошибку. Ive также unistalled всех других версий ActiveRecord. Существует очень короткий стек след которым заставляет меня верить в Railties Lib не загружается. Или, может быть, Theres проблемы с путем к этому Lib. приложение / модели / wp_posts.rb: 1: в `«приложение / контроллеры / default_controller.rb: 28: в `начале» это скриншот верхней части моего файла application.rb Даже simpley вызова модели в рельсах консоли получить мне эту же ошибку. Такие вещи, как вызывающий пользователь в рельсах консоли получить мне ту же самую ошибку. Я уже пробовал: камень установить ActiveRecord -v = 4.0.0, и что до сих пор получает мне ту же ошибку. Ive также unistalled всех других версий ActiveRecord. Существует очень короткий стек след которым заставляет меня верить в Railties Lib не загружается. Или, может быть, Theres проблемы с путем к этому Lib. приложение / модели / wp_posts.rb: 1: в `«приложение / контроллеры / default_controller.rb: 28: в `начале» это скриншот верхней части моего файла application.rb Существует очень короткий стек след которым заставляет меня верить в Railties Lib не загружается. Или, может быть, Theres проблемы с путем к этому Lib. приложение / модели / wp_posts.rb: 1: в `«приложение / контроллеры / default_controller.rb: 28: в `начале» это скриншот верхней части моего файла application.rb Существует очень короткий стек след которым заставляет меня верить в Railties Lib не загружается. Или, может быть, Theres проблемы с путем к этому Lib. приложение / модели / wp_posts.rb: 1: в `«приложение / контроллеры / default_controller.rb: 28: в `начале» это скриншот верхней части моего файла application.rb
Verty00
1

голосов
1

ответ
107

Просмотры

React образуют не подчиняющегося значения Postgres в Rails приложения

У меня есть приложение рельсы с React установлены через Webpacker. Я добавляю пару динамических полей к существующей форме, но я не получаю значения, представленные в базе данных. Не реагируют поля подачи нормально, и нет никаких ошибок. У меня есть различные поля чисел, отображаемых в зависимости от выбранного варианта. Я понял, что ниже в моем среагировать компонента: будет приравнивать к рельсам: Это слишком упрощенно? Могу ли я в корне что-то отсутствует? Приложение / JavaScript / BlendSelector / beans.jsx импорта React из '' реагируют на импорт ReactDom из 'реагируют-DOM' импорта из BlendSelector '' BlendSelector document.addEventListener ( 'turbolinks: нагрузка', функция () {вар элемент = document.getElementById ( "смешаться типа-компонент"); ReactDom.render (, элемент);}); приложение / JavaScript / пакеты / индекс. импорт JSX Реагировать из «реагировать» на импорт NoBlend из «./NoBlend»; импорт SingleOrigin из»./SingleOrigin'; импортировать TwoBlend из './TwoBlend'; импортировать ThreeBlend из './ThreeBlend'; Класс BlendSelector расширяет React.Component {конструктор (реквизит) {супер (реквизит); this.onBlendSelected = this.onBlendSelected.bind (это); this.state = {selectedBlend: нуль}; } OnBlendSelected (событие) {this.setState ({selectedBlend: event.target.value}); } Визуализации () {пусть BlendCustomComponent = NoBlend; если (this.state.selectedBlend == "Single происхождения") {BlendCustomComponent = SingleOrigin; } Еще если (this.state.selectedBlend == "Две страны смесь") {BlendCustomComponent = TwoBlend; } Еще если (this.state.selectedBlend == "
Simon Cooper
1

голосов
3

ответ
47

Просмотры

Как можно заказать по результатам запроса ActiveRecord соответствующим значением в моей хэш? [Дубликат]

Этот вопрос уже есть ответ здесь: Ruby на Rails: Есть ли способ вывести элементы из базы данных и вернуть их в определенном порядке? [Дубликат] 1 ответ У меня есть два объекта. ActiveRecord Коллекция Hash с номером, парного идентификатор записи Пример Hash: {1 => 10145, 2 => 11543, 3 => 50, 4 => 77534} Итак, я хочу заказать мой запрос ActiveRecord на основе ключа в моей хэша для соответствующего идентификатора записи, как это значение. Как я могу идти об этом?
daveomcd
1

голосов
0

ответ
85

Просмотры

Minitest: Как проверить внешний URL

У меня есть поток в мое приложение, где я должен направлять пользователей на внешний сайт (в данном случае, LinkedIn), чтобы загрузить CSV своих данных. LinkedIn, кажется, чтобы изменить страницу каждые несколько месяцев, достаточно того, что мои инструкции устаревают. Я использую MiniTest, и хотел бы написать простой тест интеграции для мониторинга определенного текста на странице LinkedIn, так что тест не пройден, если они меняют страницу. То, что я хотел бы сделать что-то вроде: тест «linkedin_page» получаете «https://www.linkedin.com/psettings/member-data» assert_response: успех assert_match «Скачать архив данных вашего аккаунта», ответ. конец тела Когда я запускаю приведенный выше код, я получаю: ActionController :: RoutingError: нет маршрута матчей [не GET] «/ psettings / член-данные», поэтому он игнорирует домен и пытается получить URI на моем локальном приложении.
Katie
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

ответ
132

Просмотры

PayPal выразить ActiveMerchant шлюз не работает

заголовки => заголовки || {}} .update (опция), если опции [: PEM] .blank? && опции [: подпись] .blank? поднять ArgumentError, «Об Сертификат API или API Подпись требуется для выполнения запросов к PayPal» конец супер (варианты) конец я не понимаю, что это инициализатор делает с подписью и почему он не принимает его как на примере. Вот варианты я передаю, которые я положил в STDOUT: { «пароль» => «***************», «подпись» => «AVtrAKGQXoUNJFduUU0pn1dewq80AK9KYWenyFwYcduz8elS85B8T0Wc», "allow_guest_checkout" => правда, "Вход" => "********************", "тест" => правда} Может кто-нибудь помочь мне с этим, пожалуйста? Обратите внимание, что я использую это в JRuby, но я не думаю, что делает никакой разницы в этом случае. EDIT после @ комментарии PiersC в: Я жёстко это вместо того, чтобы их параметры из Java, и она работала: опции = {Логин: «*************», пароль: «***** ************», подпись:„AVtrAKGQXoUNJFduUU0pn1dewq80AK9KYWenyFwYcduz8elS85B8T0Wc“} Однако это привело к другому вопросу. Я преобразования карты Java Руби хэшей, как это: self.convert_hash четкости (показать на карте) HSH = {} {| map.each ключ, значение | HSH [ключ] = значение} hsh.with_indifferent_access конец И это работало на всех других шлюзов. Как преобразовать карту Java правильно хэш опций в Ruby? Я жёстко это вместо того, чтобы их параметры из Java, и она работала: опции = {логин: «*************», пароль: «*********** ******», подпись:„AVtrAKGQXoUNJFduUU0pn1dewq80AK9KYWenyFwYcduz8elS85B8T0Wc“} Однако это привело к другому вопросу. Я преобразования карты Java Руби хэшей, как это: self.convert_hash четкости (показать на карте) HSH = {} {| map.each ключ, значение | HSH [ключ] = значение} hsh.with_indifferent_access конец И это работало на всех других шлюзов. Как преобразовать карту Java правильно хэш опций в Ruby? Я жёстко это вместо того, чтобы их параметры из Java, и она работала: опции = {логин: «*************», пароль: «*********** ******», подпись:„AVtrAKGQXoUNJFduUU0pn1dewq80AK9KYWenyFwYcduz8elS85B8T0Wc“} Однако это привело к другому вопросу. Я преобразования карты Java Руби хэшей, как это: self.convert_hash четкости (показать на карте) HSH = {} {| map.each ключ, значение | HSH [ключ] = значение} hsh.with_indifferent_access конец И это работало на всех других шлюзов. Как преобразовать карту Java правильно хэш опций в Ruby? ве преобразования карты Java Руби хэшей, как это: self.convert_hash четкости (показать на карте) HSH = {} {| map.each ключ, значение | HSH [ключ] = значение} hsh.with_indifferent_access конец И это работало на всех других шлюзов. Как преобразовать карту Java правильно хэш опций в Ruby? ве преобразования карты Java Руби хэшей, как это: self.convert_hash четкости (показать на карте) HSH = {} {| map.each ключ, значение | HSH [ключ] = значение} hsh.with_indifferent_access конец И это работало на всех других шлюзов. Как преобразовать карту Java правильно хэш опций в Ruby?
Richtopia
1

голосов
1

ответ
195

Просмотры

Как сделать резервную копию базы данных PostgreSQL рельсов проект развертывания на EC2

Мне нужно сделать резервную копию базы данных postegresql рельсов проекта развернуты на EC2 с использованием Capistrano. Так как я могу это сделать, а также я хочу, чтобы сохранить резервную копию данных на локальном компьютере
Hiệp Hồ
1

голосов
0

ответ
147

Просмотры

Повторяющиеся ошибки каталогов на рельсах, после установки эликсира

Я прочитал соответствующую запись на GitHub: охранник / слушать Я могу воспроизвести эту ошибку последовательно после свежей загрузки (перезагрузки) Я работал над рубином проекта рельсов, и был в состоянии обслуживать сайт локально без ошибок. После компиляции эликсира, и отбывающего сайт эликсира локально (но не одновременно с рельсами), я бег в дубликате ошибку каталога когда я пытаюсь служить сайт рельсы локально. В целом, я до сих пор в состоянии обслуживать проект рельсов и использовать сайт. Но ошибки уродство, и я не думаю, что это здорово, чтобы их игнорировать. Сообщение об ошибке $ бен / рельсы сервер ... (больше ошибок) ** ОШИБКА: каталог уже смотрел! ** Справочник: / Главная / нин / GitHub / курсант / _build / DEV / Библиотека / хосе / включают в себя уже наблюдал через: / дома / Ning / GitHub / кадетские / Deps / хосе / включают ПОДРОБНЕЕ: https: // GitHub , ком / охранник / слушать / вики / Дублированный-каталог-ошибки ** ОШИБКА: каталог уже смотрел! ** Справочник: /home/ning/github/elixir-1.6.0/lib/mix/tmp/Mix.Tasks.Compile.ErlangTest/test компилирует и очищает SRC / b.erl и SRC / c.erl / _build / DEV / Библиотека / образец / включает в себя уже наблюдал за счет: /home/ning/github/elixir-1.6.0/lib/mix/tmp/Mix.Tasks.Compile.ErlangTest/test компилирует и очищает SRC / b.erl и SRC /c.erl/include ПОДРОБНЕЕ: https://github.com/guard/listen/wiki/Duplicate-directory-errors ... (больше ошибок) первый каталог (курсант) является эликсиром проект, который я служил на местном уровне , но не одновременно с этими рельсами проекта. Вторым является хранилищем эликсира, с помощью которого я составил эликсир. Структура каталогов. ├── курсант ├── cvwo присваивание ├── ... (другие каталоги) └── эликсир-1,6. 0 Поиск симлинки Я понимаю, что рекурсивные симлинки могут генерировать эту ошибку. Я не думаю, что есть какие-либо из них, насколько я могу судить. В проекте рельсы (cvwo уступки), $ найти. -тип л -ls $ В хранилище эликсира (эликсир-1.6.0), $ найти. -типа л -ls 2359425 0 lrwxrwxrwx 1 корень корень 31 января 20 09:49 ./lib/mix/tmp/applies \ \ переменные из \ system_env \ для \ rebar3 / _build / DEV / Lib / git_rebar / Эбин -> .. /../../../deps/git_rebar/ebin 2359430 0 lrwxrwxrwx 1 корень корень 29 20 янв 9:49 ./lib/mix/tmp/applies \ переменные \ из \ system_env \ для \ rebar3 / _build / DEV / Библиотека / rebar_dep / Эбин -> ../../../../../rebar_dep/ebin 1574346 0 lrwxrwxrwx 1 корень корень 16 января 20 9:49 ./lib/mix/tmp/Mix.Tasks. ArchiveTest / тест \ архив \ сборки / _build / DEV / Библиотека / архив / собств -> ../../../ .. / Эбин 2359582 0 lrwxrwxrwx 1 корень корень 31 20 января 9:49 ./lib/mix/tmp/get \ и \ компиляции \ зависимостей \ для \ rebar3 / _build / DEV / Библиотека / git_rebar / Эбин -> ../ .. /../../deps/git_rebar/ebin 2359587 0 lrwxrwxrwx 1 корень корень 29 20 января 9:49 ./lib/mix/tmp/get \ и \ компиляции \ зависимостей \ для \ rebar3 / _build / DEV / Lib / rebar_dep / Эбин -> ../../../../../rebar_dep/ebin $ В проекте эликсира (кадетских), $ найти. -типа л -ls 10641466 0 lrwxrwxrwx 1 нин нин 29 января 20 14:28 ./_build/dev/lib/phoenix/priv -> ../../../../deps/phoenix/priv 8279908 0 lrwxrwxrwx 1 нин нин 31 20 января 14:27 ./_build/dev/lib/base64url/ebin -> ../../../../deps/base64url/ebin 9971625 0 lrwxrwxrwx 1 нин нин 33 20 января 14: 27 ./_build/dev/lib/file_system/priv -> ../../../ .. Я не все потенциально рекурсивные. А так как сам проект рельсов не содержит символические ссылки, я не понимаю, почему работает бен / Рельсы служат в этом SYMLINK-менее проект может привести к «SYMLINK рекурсии». Версии Проект рельсов ваниль без дополнительных драгоценных камней. Мне сказали, что проект эликсира использует структуру под названием феникс. $ Рубинового --version рубинового 2.3.3p222 (2016-11-21) [x86_64-Linux-гну] $ рельсы --version рельсы 5.1.4 $ IEX --version Эрланга / OTP 19 [ГЭР-8.2.1] [источник ] [64-битный] [СПР: 4: 4] [асинхронная нить: 10] [ядро-опрос: ложный] IEX 1.6.0 (собранно с OTP 19) $ смеси --version Эрланга / ОТП 19 [ГЭР-8.2 0,1] [источник] [64-битный] [SMP: 4: 4] [асинхронной-нитей: 10] [ядро-опроса: ложь] Микс 1.6.0 (собран с OTP 19) т понять, почему работает бен / Рельсы служат в этом SYMLINK-менее проект может привести к «SYMLINK рекурсии». Версии Проект рельсов ваниль без дополнительных драгоценных камней. Мне сказали, что проект эликсира использует структуру под названием феникс. $ Рубинового --version рубинового 2.3.3p222 (2016-11-21) [x86_64-Linux-гну] $ рельсы --version рельсы 5.1.4 $ IEX --version Эрланга / OTP 19 [ГЭР-8.2.1] [источник ] [64-битный] [СПР: 4: 4] [асинхронная нить: 10] [ядро-опрос: ложный] IEX 1.6.0 (собранно с OTP 19) $ смеси --version Эрланга / ОТП 19 [ГЭР-8.2 0,1] [источник] [64-битный] [SMP: 4: 4] [асинхронной-нитей: 10] [ядро-опроса: ложь] Микс 1.6.0 (собран с OTP 19) т понять, почему работает бен / Рельсы служат в этом SYMLINK-менее проект может привести к «SYMLINK рекурсии». Версии Проект рельсов ваниль без дополнительных драгоценных камней. Мне сказали, что проект эликсира использует структуру под названием феникс. $ Рубинового --version рубинового 2.3.3p222 (2016-11-21) [x86_64-Linux-гну] $ рельсы --version рельсы 5.1.4 $ IEX --version Эрланга / OTP 19 [ГЭР-8.2.1] [источник ] [64-битный] [СПР: 4: 4] [асинхронная нить: 10] [ядро-опрос: ложный] IEX 1.6.0 (собранно с OTP 19) $ смеси --version Эрланга / ОТП 19 [ГЭР-8.2 0,1] [источник] [64-битный] [SMP: 4: 4] [асинхронной-нитей: 10] [ядро-опроса: ложь] Микс 1.6.0 (собран с OTP 19)
ning

Просмотр дополнительных вопросов

Связанные вопросы