我有一个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 %>
我非常感谢任何见解。
答案 0 :(得分:2)
覆盖setter方法:
# put this in your model:
def title=(value)
super("Top 5 Greatest #{value}")
end