Задать вопрос
AdilA
@AdilA
Нравится кодить, изучаю go c echo

Как прикрепить js файл к экшену если у экшена нету формы?

Есть файл track_activity.js.erb
<% publish_to "/notifications/new" do %>
  $("#activity").append("<%= j render(@activity) %>");
<% end %>

и есть экшн в application_controller.rb
def track_activity(user, trackable, action = params[:action], author = current_user)
    @activity =  Activity.create! user: user, trackable: trackable, action: action, author: author
  end

но у него нет формы он вызывается например при комментировании поста
comment_controller.rb
def create
        @post = Post.find(params[:post_id])
        @comment = @post.comments.build(comment_params)
        @comment.user = current_user
        if @comment.save
            track_activity @post.user, @comment
            redirect_to post_path @post
        else
            render 'new'
        end
    end

и вот вопрос как track_activity.js.erb вызывать всегда когда используется track_activity экшн или какой нибудь альтернативный метод для передачи данных с Private_pub?
  • Вопрос задан
  • 2203 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@vsuhachev
Если у вас нет роута до track_activity, то это не action а просто функция, вызывайте ее на здоровье где хотите.

Далее свой js положите в app/viwes/shared c перфиксом _ в имени файла и тоже вызывайте из тех вью из которых нужно. Это называется partial
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
OTKLIK POWER Москва
от 80 000 до 150 000 ₽
Netwrk Буэнос-Айрес
от 5 000 до 7 500 $
от 6 000 до 8 000 $