【问题标题】:Hardcode partial input value in a Rails form_for fieldRails form_for 字段中的硬编码部分输入值
【发布时间】:2018-02-03 05:29:55
【问题描述】:

我有一个 Rails 表单,用户可以在其中创建 Top5 列表。虽然他们能够标记列表,但所有列表都以“Top 5 Greatest”一词开头。当然,使用 Regex 并将这个短语附加到控制器中列表的前面很容易,但是我对创建和更新操作都坚持这样做,所以它不是很干。有没有办法在 rails form_for 中硬编码部分值,然后将其与表单输入的其余部分组合并发送到控制器?

这是当前表单的样子(减去 form_for 部分):

  <br><%= f.label "Top Five Greatest:" %>
  <%= f.text_field :title %><br>
  <%= f.hidden_field :user_id, value: user.id %>
  <br><%= f.label "#1" %>
  <%= f.text_field :number1 %>
  <br><%= f.label "#2" %>
  <%= f.text_field :number2 %>
  <br><%= f.label "#3" %>
  <%= f.text_field :number3 %> 

我真的很感激任何见解。

【问题讨论】:

    标签: ruby-on-rails ruby nested-forms form-for


    【解决方案1】:

    重写setter方法: # put this in your model:

    def title=(value)
        super("Top 5 Greatest #{value}")
    end
    

    【讨论】:

    • 如果我尝试在文本字段中添加它,它会给我一个错误:
    • undefined method `Top 5 Greatest' for #<0x00007ffab8ee1730>


    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    相关资源
    最近更新 更多