【问题标题】:how do i create controlles dynamically in ror如何在 ror 中动态创建控件
【发布时间】:2014-09-20 11:58:52
【问题描述】:
<%= 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%>

我是 rails 的新手。我在其他页面中有一个下拉列表,其值介于 1-10 之间。如果我从该下拉列表中选择 4,那么我想创建像 (catId_buy2,menuName_buy2,qty_buy2),(catId_buy3,menuName_buy3,qty_buy3) 这样的控制器。请帮帮我。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

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

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

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

    【讨论】:

    • 有什么方法可以在javascript中创建。
    • 没有。 Javascript 不是 Ruby。
    猜你喜欢
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    相关资源
    最近更新 更多