gpt4 book ai didi

javascript - 基于另一个更新一个选择框(Ruby on Rails)

转载 作者:行者123 更新时间:2023-11-29 17:32:53 25 4
gpt4 key购买 nike

我是 Ruby on Rails 的新手,需要一些帮助。

我正在开发一个可用于跟踪汽车的网络应用程序。有两种模型,一种代表品牌(Saab、Honda、Toyota 等),另一种代表模型(Civic、Miata、PT Cruiser 等)。他们有一个“has_many”关系:

script/generate scaffold make name:string

script/generate scaffold model name:string make_id:integer

我创建了一个带有两个选择框的 View (使用 select 辅助方法创建),一个用于品牌,一个用于模型。

这是我在弄清楚如何做时遇到的问题:我希望第二个选择框只填充与第一个选择的品牌相对应的模型。当在第一个选择框中进行更改时,第二个选择框中的模型也应如此。

谢谢大家!

最佳答案

您需要在第一个更新第二个选择框的选择框上创建一个 ajax 观察器。类似于以下内容:


&lt%= select :make,:id, @makes %>
&lt div id = "model_select"> &lt/div>
&lt%= observe_field :make_id, :url => model_select_makes_path, #or whatever
:with=>"make_id"%>

然后在你的 makes_controller 中:


def model_select
make = Make.find(params[:make_id])
@models = make.models
respond_to do |format|
format.js
end
end

然后要么像这样使用 rjs 部分,要么在 Controller 中渲染:更新:


page.replace_html "model_select", :partial => "model_select"

并且 model_select.html.erb 将具有使用@models 呈现模型选择器的 html,类似于:


<%= select_tag :model, :id, @models %>

关于javascript - 基于另一个更新一个选择框(Ruby on Rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1925275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com