【问题标题】:Rails - pass a second value based on form inputRails - 根据表单输入传递第二个值
【发布时间】:2013-11-26 00:21:36
【问题描述】:

我认为我想做的在理论上很简单,但我很难用语言来寻找解决方案。

在我的比赛表格上,我有一个收藏选择-

<div class="form-group">
  <%= f.label :matchup_id, 'Select Matchset' %>
  <%= f.collection_select(:matchset_id, Matchset.where("starttime > ?", Time.now), :id, :name, { :prompt => true } ) %>

对于他们在此处选择的任何匹配集,我想将该匹配集的开始时间传递给在此竞赛模型上也称为开始时间的字段。

编辑澄清:我想根据用户在集合选择中的选择将第二个值从 Matchset 模型传递到 Contest 模型。因此,如果用户在集合选择中选择 matchset 1,我想将 1 作为 matchset_id 传递给 Contest,但我也想从 matchset 1 中获取开始时间并将其作为我正在创建的竞赛记录的开始时间传递。对新手有什么建议吗?

【问题讨论】:

    标签: ruby-on-rails forms parameters simple-form


    【解决方案1】:

    starttime 值分配给控制器中的Contest 可能更容易。在此视图调用的操作中,将选定的matchset 分配给contest 后,您可以通过调用访问starttime

    @contest.matchset.starttime
    

    如果比赛has_many matchsets会有点不同,但想法是一样的。

    【讨论】:

    • 这正是我刚刚尝试过的,它奏效了。来这里回答我的问题,但你已经回答了。很高兴知道我可以像这样分配记录值。谢谢。
    猜你喜欢
    • 2017-07-11
    • 2012-09-01
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 2015-10-15
    • 2020-01-29
    相关资源
    最近更新 更多