ROR: кнопка отправки должна работать только на один клик, а не на второй - PullRequest
1 голос
/ 13 марта 2012

Привет, я новичок в ruby ​​на рельсах, и я застрял в месте, где кнопка отправки должна работать только один раз, и она должна перенаправить на ту же страницу после. Я вставляю фрагмент кода, который я использовал.

<%= f.submit "save" ,:class=>"paypal_save_btn_newusernegotiationnew"%>

if params[:submit] == "publish"
    format.html { redirect_to @offerdetail, notice: 'Offerdetail was successfully created.' }
    format.json { render json: @offerdetail, status: :created, location: @offerdetail }

    else
    format.html { render action: "new_offerdetail" }
    format.json { render json: @offerdetail.errors, status: :unprocessable_entity }
    end
end
  1. Пока поведение таково, что при первом щелчке он перенаправляет на ту же страницу, а при втором щелчке он перенаправляет на страницу по умолчанию, которая называется «show», но я хочу, чтобыбыть перенаправленным на ту же страницу.

  2. вторая проблема - при первом нажатии она сохраняет данные в нужных таблицах с именами «offerdetail» (это scaffolded) и «fetchfrom» (добавленная модель), но при втором щелчке данные сохраняются в таблице лесов, а не в добавленной модели, но я использую добавленную модель ("fetchfrom") в других формах для доступа к данным.

желаемое поведение:

  1. для любого количества нажатий кнопки «Отправить» следует перенаправить на одну и ту же страницу.
  2. данные должны быть сохранены в обеих таблицах.

код дляконтроллер

def create
  #To show purchaser infromation
  if fb_current_user
    @msgs=""
    @purchaser_first_name=fb_current_user.first_name
    @purchaser_last_name=fb_current_user.last_name
    @purchaser_email=fb_current_user.email
    @purchaser_gender=fb_current_user.gender
    @purchaser_birthdate=fb_current_user.birthday
  else
    @msgs="Please login to Facebook"
  end    

  @offerdetail = Offerdetail.new(params[:offerdetail])

  respond_to do |format|
    if @offerdetail.save
      # To save current offerid and assigning "0" to usernegotiation_id in Fetchfrom table 
      @fetchfrom = FetchFrom.new
      @fetchfrom.offer_id=Offerdetail.last.offerid
      @fetchfrom.usernegotiation_id=0
      @fetchfrom.final_purchase_price=Offerdetail.last.price
      @fetchfrom.total_coupons=Offerdetail.last.cou
      @fetchfrom.user_id = fb_current_user.id

      @fetchfrom.save                 

      @offer_id = @offerdetail.offerid
      #To show order_details
      @offer_value=Offer.find(@offerdetail.offerid).value
      @offer_purchaseprice =Offer.find(@offerdetail.offerid).purchaseprice
      @name = Offer.find(@offerdetail.offerid).nameofdeal
      @retailer_id = RetailersOffer.find_by_offer_id(@offerdetail.offerid).retailer_id
      @business_name = Retailer.find(@retailer_id ).name

        if params[:submit] == "publish"
        format.html { redirect_to new_offerdetail, notice: 'Offerdetail was successfully created.' }
        format.json { render json: new_offerdetail, status: :created, location: new_offerdetail }

        else
        format.html { render action: "new_offerdetail" }
        format.json { render json: new_offerdetail.errors, status: :unprocessable_entity }
        end
    end
  end

end

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...