0

我在Post模型中添加了一个草稿属性:

  create_table "posts", :force => true do |t|
    t.text     "content",            :limit => 255
    t.integer  "user_id"
    t.boolean  "draft",                             :default => false
    t.datetime "published_at"
  end

现在它显示为一个复选框:

<%= form_for(@post, :html => { :multipart => true }) do |f| %>

<%= f.label :title %>
<%= f.text_field :title %>

<%= f.label :content %>
<%= f.text_area :content, id: "wysihtml5-textarea" %>

<%= f.label :category_id, "Select Category" %>
<%= f.collection_select :category_id, Category.order(:name), :id, :name,
                        { prompt: 'Select Category' } %>

<%= f.label :draft %>
<%= f.check_box :draft %>

<div class="form-actions">
  <%= f.submit "Create post", class: "btn btn-primary" %>
</div>

<% end %>

我想修改表单,以便用户可以单击其中一个Save as DraftPublish按钮而不是单击草稿复选框(就像您在 WordPress 中所做的那样)。

我不知道如何使这些按钮影响draft属性的值。

有任何想法吗?

4

1 回答 1

1

当您单击一个submit按钮时,Rails 会自动"commit"在哈希中包含一个条目params,其中包含所单击按钮的文本。您应该能够在控制器中关闭它。

请注意,上次我尝试时,有一个错误jquery-ujs意味着这种策略不适用于声明为:remote => true. 然而,那是不久前的事了,我确实提出了一个错误报告,所以它可能后来被修复了。

于 2012-12-17T11:17:36.783 回答