我有一個模型Movie
和我有一個頁面比較兩部電影。我使用PARAMS A
和B
設置兩部電影:如何根據兩個不同的輸入動態設置鏈接的路徑?
<%
@movie1 = Movie.find_by(title: params[:A])
@movie2 = Movie.find_by(title: params[:B])
%>
頁面的左側顯示了「A」的電影和右側顯示「B」的電影。
有一個選項可以刪除兩個當前的電影並輸入新的電影。現在我所擁有的系統是這樣的:頁面的「A」和「B」邊都有一個下拉菜單,其中包含用戶輸入的可點擊建議,點擊A側的建議鏈接除了用params[:A]
代替之外,相同的頁面,反之亦然。
例如,點擊「哈利·波特」的A面下會使用此鏈接:<%= link_to "Harry Potter", compare_path(A: "Harry Potter", B: params[:B]) %>
但是這樣一來,用戶必須等待頁面,選擇每部電影之後加載。我希望用戶能夠輸入兩部電影,然後按下按鈕以使用新參數重新加載頁面。
所以我需要某種「運行比較」鏈接按鈕,並且點擊一個建議將不得不重置該鏈接的路徑,可能使用jQuery。訣竅是,「A」建議必須考慮最近的「B」建議,反之亦然。例如,如果兩個選項都是空的,並且我在A側選擇「哈利波特」,那麼鏈接的路徑將是compare_path(a: "Harry Potter", b: "")
,但是如果我在B側選擇「The Ring」,那麼新的路徑應該是compare_path(a: "Harry Potter", b: "The Ring")
。然後如果我改變了主意並在A方選擇了「迷惑」,那麼路徑重新更新爲compare_path(a: "Bewitched", b: "The Ring")
我完全失去了。任何人有任何想法如何做到這一點?
那麼我將如何使用A和B下拉列表動態設置正確的路徑? –
使用'compare_path(movie_a:「movie_a_name」,movie_b:「movie_b_name」)'。如果您使用的是JavaScript,請使用「/ compare/movie_a_name/movie_b_name」。 –
但是,如果我使用A方更新路徑,我將如何使B參數保持不變? –