【问题标题】:Creating an array from a form posted parameter从表单发布的参数创建数组
【发布时间】:2012-07-04 08:39:12
【问题描述】:

我通过表单(和其他字段)发布“选择”参数

我的模型需要一个 parent_musicstyle 参数的数组,但得到一个字符串。

我在哪里以及如何转换它? 在视图、控制器或模型中

表格:

<div class="field">
    <%= f.label :parent_musicstyle %>
    <%= f.select :parent_musicstyle,
                  Musicstyle.all.map { |m| [m.musicstyle, m._id] },
                  {:include_blank => "Select a parent (if needed)", :index => nil } %>
</div>

如何提取/转换特定参数并将其转换为数组?

【问题讨论】:

    标签: ruby-on-rails arrays forms


    【解决方案1】:

    让我们将您的模型称为musicstyle,您将拥有:

    <%= form_for :musicstyle do |f| 
      ...
    <% end %>
    

    然后,在你的控制器中,你可以做

    pm = params[musictyle][parent_musicstyle]
    pm = [pm] 
    

    也就是说,您将拥有一个包含一个元素的数组,这没有用。您的选择是多项选择吗?

    【讨论】:

    • 嗨哇哇,不,它只是一个下拉菜单
    • 那么你需要一个只有一个元素的数组吗?
    • 是的.. 正确.. :-) 但是对于将来的使用,复选框的示例也将非常有帮助..
    • 参数总是作为字符串发送。如果来自 Rails 的隐式转换不起作用,您需要将它们转换为您想要的任何内容。与复选框无关。
    • 它对你有用吗?如果是,请接受答案。干杯!
    猜你喜欢
    • 2011-09-03
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    相关资源
    最近更新 更多