我在頁面上有兩種形式,我們稱它們爲「Form A」和「Form B」。每個表單都可以用來搜索電影並顯示電影的信息,因此最多可以一次在頁面上顯示兩部電影。由於表單使用ajax,因此每次選擇新的電影A或B時都不必重新加載頁面,但用戶無法使用URL鏈接到他或她所在的任何特定電影組合,因爲ajax不會不更新網址。如何使用ajax生成兩個單獨輸入的鏈接?
我想提供一個與當前電影相對應的參數的鏈接,如果更新了電影A或B,則必須更新這些參數。因此,如果電影A是「閃爍」並且電影B更新爲「崩潰」,則字符串將更新爲:www.website.com/movies?A=Blink&B=Crash
。
如果頁面只顯示一部電影,那很容易。但這裏的訣竅是,當我更新電影B時,我必須能夠更新params[:B]
的值,同時保留params[:A]
的值,反之亦然。如果當前的「獲取鏈接」爲www.website.com/movies?A=Blink&B=Crash
,並且我將電影A更新爲「怪物史萊克」,則新的「獲取鏈接」應爲www.website.com/movies?A=Shrek&B=Crash
。等等。
任何人有任何想法可以做到這一點?
這裏是我的代碼的基礎知識(我試圖排除任何多餘的):
movies.html.erb
<div id="GetUrl"></div>
<form id="Form A"><!-- points to movies_controller:new_movieA --></form>
<div id="MovieA"></div>
<form id="Form B"><!-- points to movies_controller:new_movieA --></form>
<div id="MovieB"></div>
movies_controller.rb
def new_movieA
@movieA = Movie.find(params[:movie])
respond_to do |format|
format.js
end
end
#More of the same for movie B.
movieA.js.erb
$("#MovieA").html("j render @movie_a")
$("#GetUrl").html("http://movies?a=&b=<%[email protected]%>")
_movie_a.html.erb
<%= @movieA.content%>