我有一个模型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参数保持不变? –