Привет, я новичок в 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
Пока поведение таково, что при первом щелчке он перенаправляет на ту же страницу, а при втором щелчке он перенаправляет на страницу по умолчанию, которая называется «show», но я хочу, чтобыбыть перенаправленным на ту же страницу.
вторая проблема - при первом нажатии она сохраняет данные в нужных таблицах с именами «offerdetail» (это scaffolded) и «fetchfrom» (добавленная модель), но при втором щелчке данные сохраняются в таблице лесов, а не в добавленной модели, но я использую добавленную модель ("fetchfrom") в других формах для доступа к данным.
желаемое поведение:
- для любого количества нажатий кнопки «Отправить» следует перенаправить на одну и ту же страницу.
- данные должны быть сохранены в обеих таблицах.
код дляконтроллер
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
Заранее спасибо.