2016-08-09 56 views
0

在我的Rails應用程序中,我彈出了一個模型,可以隨時彈出一個學生被點擊進行編輯。在重定向到編輯頁面之前,用戶必須提供編輯的基本原理和名稱(該信息保存在另一個數據庫中)。但是,在模式中的確認按鈕上,我通過jQuery分配href值,並希望在單擊頁面時將頁面重定向,但它遵循在logicalale_controller.rb redirect_to子句中定義的路徑。有沒有一種方法可以讓它遵循HREF屬性呢?Rails按照href路徑而不是redirect_to在控制器中

所有幫助表示感謝,謝謝!

編輯:

模態按鈕:<button class="btn btn-warning" id="editStudentConfirmBtn">Edit</button>

JS分配HREF:

var kid_id = $(this).data('id'); 
$("#editStudentConfirmBtn").attr("href", "/kids/" + kid_id + "/edit"); 

默認rational_controller.rb設置:

def create 
@rationale = Rationale.new(rationale_params) 
@rationale.user = current_user 
respond_to do |format| 
    if @rationale.save 
    format.html { redirect_to @rationale, notice: 'Rationale was successfully created.' } 
    format.json { render :show, status: :created, location: @rationale } 
    else 
    format.html { render :new } 
    format.json { render json: @rationale.errors, status: :unprocessable_entity } 
    end 
end 

編輯2:

Modal

+0

你能分享你的代碼,因爲我們可以看到你迄今試過的東西嗎? –

+1

你對什麼設置href? –

+0

最簡單的解決方案可能是在params中傳遞所需的url並將其重定向到控制器中的那個url。 –

回答

0

該溶液所需的AJAX調用,將被執行的動作create後的頁面重定向到指定的位置。

我不得不改變控制器Rationale如下:

def create 
    @rationale = Rationale.new(rationale_params) 
    @rationale.user = current_user 
    respond_to do |format| 
     if @rationale.save 
     format.html { render :nothing => true } 
     format.json { render :show, status: :created, location: @rationale } 
     else 
     format.html { render :new } 
     format.json { render json: @rationale.errors, status: :unprocessable_entity } 
     end 
    end 
end 

,並改變了JS如下而不是分配A HREF使用jQuery的我只是用一個AJAX調用頁面自動跳轉按鈕:

$('#editStudentConfirmBtn').click(function(){ 
     $.ajax({ 
      success: function(result) { 
      location.href = '/kids/' + kid_id + '/edit' 
      } 
     }); 
    }); 
相關問題