2

我的products_controller.rb中有代码

        def create
          @product = Product.new(product_params)
          brand = Brand.find(params[:brand_id])
          @product.brand = brand

          if @product.save
            raise "OK"
          else
            @brand = Brand.find(params[:brand_id])
            render 'brands/show'
          end
        end

保存方法失败后,我需要重定向到brands show.html.erb视图,该视图通过id 查找品牌并显示有关它的信息。

问题:

  1. 这是正确的做法吗
  2. 如果用户手动传递 server_id 参数,如何防止它执行(SQL 注入)?或者我应该如何检查和显示错误?
  3. 我如何brands/show在表单外的视图中显示错误(因为我将表单存储在<a data-form="...">属性中,所以用户在点击链接之前看不到表单。甚至更多,我使用form_for([@brand,@brand.send(:products).klass.new])
4

1 回答 1

2

使用重定向到品牌路径(@brand)

于 2015-06-17T11:43:21.030 回答