单击链接时,javascript从date属性中获取一个id,并将其添加到表单中,然后显示一个模式窗口

单击链接时,javascript从date属性中获取一个id,并将其添加到表单中,然后显示一个模式窗口,javascript,ruby-on-rails,ruby-on-rails-4,Javascript,Ruby On Rails,Ruby On Rails 4,单击链接时,我们从date属性获取一个id,并将其添加到表单中,然后显示一个模式窗口 如何在表单中添加javascript中的id值 链接: javascript: $(function() { $(".comments").on("click", ".comment a.report", function(e) { e.preventDefault(); var $this = $(this); var commentId = $this.data("commen

单击链接时,我们从date属性获取一个id,并将其添加到表单中,然后显示一个模式窗口

如何在表单中添加javascript中的id值

链接:

javascript:

$(function() {
  $(".comments").on("click", ".comment a.report", function(e) {
    e.preventDefault();

    var $this = $(this);
    var commentId = $this.data("comment-id");
  });
});
表格:

路线:

resources :videos, except: [:index] do
  resources :comments, only: [:index, :create, :destroy] do
    member do
      post 'report', to: 'reports#create'
    end
  end
end
控制器:

class ReportsController < ApplicationController
  before_filter :authenticate_user!

  before_filter :find_comment, only: [:create]

  def create
    @report = @comment.reports.build(report_params)
    @report.user = current_user
    @report.save

    respond_to do |format|
      format.js
    end
  end

  private

  def find_comment
    @comment = Comment.find(params[:id])
  end

  def report_params
    params.require(:report).permit(:type_report, :message)
  end
end
类报告控制器
需要从javascript插入数据属性,而不是“?”


谢谢。

如果用户在客户端不加载页面(或ajax仅重新加载表单内容)而更改表单提交路径,则需要使用JS更新表单路径。看看这些帖子:

  • resources :videos, except: [:index] do
      resources :comments, only: [:index, :create, :destroy] do
        member do
          post 'report', to: 'reports#create'
        end
      end
    end
    
    class ReportsController < ApplicationController
      before_filter :authenticate_user!
    
      before_filter :find_comment, only: [:create]
    
      def create
        @report = @comment.reports.build(report_params)
        @report.user = current_user
        @report.save
    
        respond_to do |format|
          format.js
        end
      end
    
      private
    
      def find_comment
        @comment = Comment.find(params[:id])
      end
    
      def report_params
        params.require(:report).permit(:type_report, :message)
      end
    end