Quantcast
Channel: Active questions tagged ruby - Stack Overflow
Viewing all articles
Browse latest Browse all 4607

how to pass the parameters as request boy in ruby on rails

$
0
0

here is my controller method ,but when commiting if params[:commit] == "パッケージチェック"I want to pass the params as request body not through url, which has resulted in 404 with an error messageupstream sent too big header while reading response header from upstream

here is my controller cretae method

    @package_type_ids = params[:package_type_ids].split("\r\n")    @order = PackagesTran.new packages_tran_params    packages = Package.where("package_type_id IN (?)", @package_type_ids)    if packages.pluck(:package_type).uniq.count > 1      @notice = "異なる種類のパッケージが混ぜています"      return redirect_to packages_trans_path    end    if params[:commit] == "パッケージチェック"      return redirect_to new_packages_tran_path(:package_type_ids => @package_type_ids.join(','), :post_no => @order.post_no, :address => @order.address, :post_company => @order.post_company, :track_id => @order.track_id, :comment => @order.comment)    end    @order.admin_user_id = current_admin_user.id    @order.save!    # update card trans request id    @packages = Package.where("tran_id IS NULL AND package_type_id IN (?)", @package_type_ids)    if @packages      @packages.each do |p|        p.update! :tran_id => @order.id      end    end    @packages = Package.where("tran_id IS NULL AND package_type_id IN (?)", @package_type_ids).paginate(:page => params[:page], :per_page => 20)     redirect_to packages_trans_path  endprivate    def new_packages_tran_params      params.permit(:post_no, :address, :post_image, :post_company, :track_id, :status, :comment)    end    def packages_tran_params      params.require(:packages_tran).permit(:post_no, :address, :post_image, :post_company, :track_id, :status, :comment, :last_operated_uesr_id, :sent_at, :delivered_at)    end``````def new    @order = PackagesTran.new new_packages_tran_params    @package_type_ids = params[:package_type_ids] ? params[:package_type_ids].split(",") : []    packages = Package.where("package_type_id IN (?)", @package_type_ids)    if packages.pluck(:package_type).uniq.count > 1      @notice = "異なる種類のパッケージが混ぜています"      return    end    @pre_packages = packages.paginate(:page => params[:page], :per_page => 20)    if @pre_packages.present? and @pre_packages.first.half_black?      @order.post_no = @pre_packages.first.agent.mail if @pre_packages && @pre_packages.first && @pre_packages.first.agent      @order.address = @pre_packages.first.agent.address if @pre_packages && @pre_packages.first && @pre_packages.first.agent    else      @order.post_no = @pre_packages.first.user.post_no if @pre_packages && @pre_packages.first && @pre_packages.first.user      @order.address = @pre_packages.first.user.address if @pre_packages && @pre_packages.first && @pre_packages.first.user    end  end```

Viewing all articles
Browse latest Browse all 4607

Trending Articles