• Как правильно исключить брендовый трафик из органического трафика в Google Analytics?

    alexfedoseev
    @alexfedoseev
    React & Rails Dev
    Возможно на сайте стоит ga.js. Если да, то обновите сквозной код + все events/custom variables и прочие ga методы до analytics.js.
    Ответ написан
    1 комментарий
  • В какой канал GA записывает переходы пользователей из email?

    alexfedoseev
    @alexfedoseev
    React & Rails Dev
    Если email трафик не размечен, то он попадает в реферальный канал. Сегментировать можно по сорсу, обычно почтовый хост уникальный для сервиса (mail.google.com, mail.yandex.ru).
    Ответ написан
    2 комментария
  • Как избавиться от CORS?

    alexfedoseev
    @alexfedoseev
    React & Rails Dev
    • Попробуй localhost заменить на lvh.me
    • Попробуй потестировать localhost в Firefox. У Хрома были проблемы с восприятием localhost.
    Ответ написан
    4 комментария
  • Использование хелперов главного приложения в представлениях mountable engine

    alexfedoseev
    @alexfedoseev Автор вопроса
    React & Rails Dev
    В общем, вот так вроде заработало:

    lib/my_engine/engine.rb (это внутри engine)
    module MyEngine
      class Engine < ::Rails::Engine
        isolate_namespace MyEngine
        config.to_prepare do
          ApplicationController.helper(ActionView::Helpers::ApplicationHelper)
        end
      end
    end


    P.S. Тот include убил соответственно.
    Ответ написан
  • Генерация (render) формы редактирования nested объекта через ajax (с jquery-fileupload-rails)?

    alexfedoseev
    @alexfedoseev Автор вопроса
    React & Rails Dev
    В общем, так и не поняв как мне эту f передать в этот партиал (насколько я могу судить её и не передать), я решил пойти путём воссоздания этого партиала «руками».

    Во-первых, я создал отдельный партиал для ajax-вставки (я даю сразу результат, ниже поясняю откуда в нём появились переменная @building и хелпер building_nested_model_count):

    views/admin/buildings/_form_building_views_ajax.html.haml
    .form-element-container
      .form-element.b-form-labels= image_tag(@building_view.image_url(:thumb)) if @building_view
    
      .form-element.b-form-fields= text_field_tag "building[building_views_attributes][#{building_nested_model_count(@building_view, @building)}][title]", nil, placeholder: 'Title'
    
    = hidden_field_tag "building[building_views_attributes][#{building_nested_model_count(@building_view, @building)}][id]", @building_view.id


    В нём я просто воссоздал форму, которую мне нужно добавить через ajax (rails с помощью хелперов её генерит автоматом, а я сгенерил её руками). Для того, чтобы оно заработало мне нужно внести изменения в три файла:

    1. Определяем переменную @building

    controllers/admin/building_views_controller.rb
    class Admin::BuildingViewsController < ApplicationController
    
      def create
        @building_view = BuildingView.create(building_view_params)
        @building = @building_view.building # определяем @building
      end
    
      private
    
        def building_view_params
          params.require(:building_view).permit(:building_id, :image)
        end
    
    end


    2. Для хэша params в полях id и name формы присутствует индекс для каждого BuildingView (см. в ajax-партиал), рассчитаем его с помощью хелпера:

    helpers/admin/building_views_helper.rb
    module Admin::BuildingsHelper
    
    	def building_nested_model_count(nested_var, building)
    		nested_class = nested_var.class
    		nested_class.where(building_id: building.id).count
    	end
    
    end


    3. И наконец изменим партиал для рендера:

    views/admin/building_views/create.js.haml
    - if @building_view.new_record?
      == alert('Oops!');
    - else
      == $('#building_views').append('#{j render('admin/buildings/form_building_views_ajax')}');


    Я в силу небольшого опыта не понимаю: костыль это или решение задачи (с удовольствием послушаю мнения). Но оно работает: форма для нового BuildingView рендерится, его отредактированный title сохраняется.
    Ответ написан
    Комментировать