硬编码Rails form_for字段中的部分输入值

时间:2018-02-03 05:29:56

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

我有一个Rails表单,用户可以在其中创建Top5列表。虽然他们能够标记列表,但所有列表都以短语" Top 5 Greatest开头。"当然,它很容易使用正则表达式,并将这个短语附加到控制器列表的前面,但是我不得不为创建和更新操作执行此操作,因此它是不是很干。有没有办法硬编码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 %> 

我非常感谢任何见解。

1 个答案:

答案 0 :(得分:2)

覆盖setter方法: # put this in your model:

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