Вопросы с тегами [ruby]
161149 вопросы
1
голосов
5
ответ
69
Просмотры
Объединить строку, если она не является пустой
Можно ли в одной строке для печати ERROR_DETAILS только если он не пустой или ноль? LOG_ERR ( "# {error_code} - {# ERROR_DETAILS}") Я предполагаю, что я мог бы установить ERROR_DETAILS = '' на самом верху. Мне интересно, если я могу избежать этой строки кода.
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. Любая идея о том, что происходит?
1
голосов
2
ответ
806
Просмотры
API вызовов из жидкости Shopify в
Я пишу пытаюсь вызвать Instagram API из моего интернет-магазина на Shopify. Я не могу использовать JavaScript, потому что Instagram не позволяет запрос. Это не плохой вызов, или ошибка, они просто отрицать. Таким образом, я использую жидкость для вызова API. Я интересно, если есть что-то подобное локон PHP, что я мог бы использовать с жидкостью. Кто-нибудь знает о таких вещах? Вот то, что я до сих пор: {% правопреемник вызова = конечная точка | добавить: Титулы%} {{открытый (вызов)}} Это ничего не outputing, хотя я полагал, что это будет выводить логическое значение. «Вызов» переменная действительно правильно. Любая помощь будет здорово, спасибо!
1
голосов
1
ответ
1k
Просмотры
sqlite3 установить проблемы на Mac OS Сьерры
Привет я очень новый на то, что им делать здесь. Я попытался следующие несколько отличается установить направляющие для установки рубин на рельсах и, кажется, застревают в той же точке каждый раз, и это связано с sqlite3 это дает мне сообщение об ошибке, которое выглядит следующим образом. Я не знаю, как удалить его, так что я могу попробовать начать все сначала и сделать это снова. Сообщение об ошибке ниже произошла ошибка при установке sqlite3 (1.3.5), и Bundler не может продолжаться. Убедитесь в том, что драгоценный камень установить sqlite3 -v «1.3.5» успешно до того пакетирования
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? (арендатор)? арендатор: по умолчанию конец я хочу каждый раз при входе на рельсы консоли попросить то, что арендатор будет загружен. Спасибо!
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.
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» для размера. Вы можете зажечь меня на миграциях, которые я должен изменить? Предложения приветствуются
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) Это моя логика в псевдо,
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?
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! конец конец конец конец
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 ([е]) повторить конечные путы "
1
голосов
1
ответ
16
Просмотры
Как выполнить .sh файл в рубине на рельсах
Я пытаюсь выполнить .sh файл в индексных рельсах действия. Стараюсь Exec «ш приложение / контроллеры / myscript.sh» это выполнить его в терминале, то остановите сервер! Я не знаю, почему. И я пытаюсь вывод = система «ш приложение / контроллеры / myscript.sh» это возвращает истину в браузере не то, что в .Sh файле Заранее спасибо :)
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 ( "тест"
1
голосов
3
ответ
220
Просмотры
Сохранить только время в рельсах
У меня есть два поля времени в таблице, т.е. start_time и END_TIME. Когда я исполняю MyModel.save (start_time: '12: 34' ), оно сохраняется с добавлением даты (Сб, 1 января 2000 7:25:00 UTC +00: 00). Я хочу сохранить только время. Я использую Rails5
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.
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 [: изображение])
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 разбирает вещи. первая часть моего правления ценности захватить ли столько символов, сколько возможно, не заботясь о контексте последующих частей?
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 не получают в процессе. пожалуйста, порекомендуйте
1
голосов
1
ответ
17
Просмотры
Почему «PG :: UndefinedColumn:» из колонки, которые приходят из драгоценных камней?
У меня камень с именем Foo. В этом драгоценном камне у меня есть 2 ветви: мастер и развиваться. В моем проекте я должен использовать разработки отрасли (которые содержат новые миграции). Так что в моей Gemfile добавить: драгоценный камень «Foo», мерзавец: «https://github.com/orsay/foo.git», филиал: «разработать» Затем запустить пакет установки затем повторно запустить свой сервер. Это ошибка, я получаю, когда я иду на локальном хосте: 3000: PG :: UndefinedColumn: ОШИБКА: колонка my_added_column не exist` Почему это происходит? Я не нужно импортировать миграции из камня ... Когда я бегу пучок шоу Foo код правильный. Любая идея, пожалуйста? :)
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»
1
голосов
2
ответ
43
Просмотры
Сохранить файлы не находятся под государственным / активы, а под другую папку
У меня есть проект Rails. Мои файлы настроены быть сохранены под RAILS_ROOT / государственный / активов. Теперь мы переходим на новый сервер, и я хочу, чтобы все файлы, которые будут читать и сохранить в другую папку. Скажем / extra_drive, который находится в другой папке, чем приложение Rails (даже не в / вар / WWW / HTML). Как я могу это сделать? С Apache? с настройкой Rails?
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: // локальный:
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 На самом деле, если я просто делать то, что сообщение об ошибке говорит мне, что это работает. Чудо правильно? Другой вопрос. Есть еще один способ иметь несколько маршрутов из разных контроллеров, указывающих на то же место? Или это лучший способ?
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!
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
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 -версия.
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
1
голосов
1
ответ
61
Просмотры
Найти все пользователи, которые купили свою машину, прежде чем они были 18
Я хочу, чтобы найти все пользователи, которые купили свою машину, прежде чем они были 18. Мне нужен запрос, как этот: User.includes (: автомобиль) .где (автомобиль: {bought_at <(user.birthday + 18.years)}) Каким образом можно Я пишу такой запрос в Rails 5 с Postgresql? Спасибо
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 вернуться конец вспышка [: ошибка] = «спасброска работала: # {} сохранить» конец Вспышка всегда реагирует как ложная. Есть ли сбой при проверке подлинности, что бы предотвратить это? Или что-то, чтобы получить в магазин, чтобы принять заряд приложения? Я в недоумении, почему это не работает. Любая помощь будет принята с благодарностью, спасибо.
1
голосов
1
ответ
237
Просмотры
Rails. Создание пользователей DEViSE непосредственно из администрировать панели
Я использую разработать для создания пользователей непосредственно из консоли, в результате не используя: регистрируемый модуль. Способ создания пользователей из консоли, предоставляя электронную почту, пароль и password_conformation следующим образом: User.create (электронная почта: «[email protected]», пароль: «1234», password_conformation: «1234») Теперь я установлен Администрировать камень, и я хотел бы иметь возможность создавать пользователь непосредственно оттуда. Я уже могу редактировать пользовательские поля и уничтожить пользователь, но я не знаю, как создать их, так как ни один пароль или password_confirmation принадлежит к столу пользователя. Какие-нибудь мысли?
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, но не получилось ...
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
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 == "
1
голосов
3
ответ
47
Просмотры
Как можно заказать по результатам запроса ActiveRecord соответствующим значением в моей хэш? [Дубликат]
Этот вопрос уже есть ответ здесь: Ruby на Rails: Есть ли способ вывести элементы из базы данных и вернуть их в определенном порядке? [Дубликат] 1 ответ У меня есть два объекта. ActiveRecord Коллекция Hash с номером, парного идентификатор записи Пример Hash: {1 => 10145, 2 => 11543, 3 => 50, 4 => 77534} Итак, я хочу заказать мой запрос ActiveRecord на основе ключа в моей хэша для соответствующего идентификатора записи, как это значение. Как я могу идти об этом?
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 на моем локальном приложении.
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", используя:: ВТКЕЕ конец Аналогичные вопросы были здесь просили, но до сих пор я не смог придумать решение. Что мне не хватает?
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?
1
голосов
1
ответ
195
Просмотры
Как сделать резервную копию базы данных PostgreSQL рельсов проект развертывания на EC2
Мне нужно сделать резервную копию базы данных postegresql рельсов проекта развернуты на EC2 с использованием Capistrano. Так как я могу это сделать, а также я хочу, чтобы сохранить резервную копию данных на локальном компьютере
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)