Rails:动态改变表单内容

时间:2013-07-08 11:41:51

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

我正在rails中构建消息应用程序,用户可以从模板发送消息。我有一个模板数据库,用户可以按类别选择模板。

在我的消息模型中,我想根据所选类别动态呈现模板。我在谷歌上寻找了一些例子,但未能找到相关的解决方案。

这是我的讯息表格:

<%= form_for @message, :html => {:multipart => true} do |m| %>
  <%= m.select :biz_case, options_for_select(Message::Bcase), :prompt => "Select business case" %>
  <%= m.text_field :subject, :class => "message-text", :placeholder => "Subject" %>
  <div class="message-body">
    <%= m.text_area :message, :class => "message-body", :class => "redactor", :placeholder => "Your content" %>
  </div>
  <%= m.select :user_type, options_for_select(Customer::CType), :prompt => "Customer segment" %>
  <%= m.submit %>
<% end %>

在上面的表格中,我希望根据选定的商业案例显示主题和正文。类似的东西:

if biz_case == "promote"
  subject = @template.subject where ("biz_case = ?", "promote")
  message = @template.content where ("biz_case = ?", "promote")
end

主题和消息将显示在输入文本字段中。

谁能告诉我怎么做?

1 个答案:

答案 0 :(得分:0)

在您的方法中:

@subject = @template.subject where ("biz_case = ?", "promote")

在视图中:

<%= m.text_field :subject, :value => @subject, :class => "message-text", :placeholder => "Subject" %>