Ruby on rails 如何在ror中动态创建控件 {:controller=>'offers',:action=>'combo})do | f |%>

Ruby on rails 如何在ror中动态创建控件 {:controller=>'offers',:action=>'combo})do | f |%>,ruby-on-rails,Ruby On Rails,我是rails新手。我在其他页面中有一个下拉列表,其值为1-10。如果我从该下拉列表中选择4,则我希望创建类似于(catId\u buy2,Menuame\u buy2,qty\u buy2),(catId\u buy3,Menuame\u buy3,qty\u buy3)等控制器。请帮助我。您不能动态创建控制器。它们是硬编码文件,描述您可以执行的不同操作。Rails无法“猜测”您想要做什么(除非理论上您正在使用标准REST,比如在控制台中执行脚手架,但即使在实践中,我相信Rails也不可能做到

我是rails新手。我在其他页面中有一个下拉列表,其值为1-10。如果我从该下拉列表中选择4,则我希望创建类似于
(catId\u buy2,Menuame\u buy2,qty\u buy2),(catId\u buy3,Menuame\u buy3,qty\u buy3)等控制器。请帮助我。

您不能动态创建控制器。它们是硬编码文件,描述您可以执行的不同操作。Rails无法“猜测”您想要做什么(除非理论上您正在使用标准REST,比如在控制台中执行脚手架,但即使在实践中,我相信Rails也不可能做到)

我相信您想要做的是,在表单中将类别作为参数传递(它不会链接到模型,而只是由控制器使用)。然后在控制器中,您可以根据该属性的值执行一些逻辑操作。 你应该



是否有办法在javascript中创建。否。Javascript不是ruby。
<%= form_for(:offer,:url=>{:controller=>'offers',:action=>'combo'}) do |f|%>

  <%= f.label "Select Category:" %> &nbsp;
  <%= f.select :catId_buy1, options_from_collection_for_select(@categories, "id", "name"), prompt: "Select Category"%>

  <%= f.label "Select Menu:" %> &nbsp;
  <%= f.collection_select :menuName_buy1, Menu.all,:menu_item_name,:menu_item_name, prompt: "Select Menu Item"%>

  <%= f.label "Discountable Quantity:" %> &nbsp;
  <%= f.number_field :qty_buy1%>

  <%= submit_tag("Create New Offer")%>

<%end%>
<%= f.input :menuId, as: :fake %>