我在我的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 Draft
或Publish
按钮(与在WordPress中一样),而不是点击草稿复选框。
我不知道如何让这些按钮影响draft
属性的值。
有什么想法吗?
答案 0 :(得分:1)
当您单击submit
按钮时,Rails将自动在"commit"
哈希中包含params
条目,该条目包含单击按钮的文本。您应该能够在控制器中关闭它。
请注意,上次我尝试时,jquery-ujs
中存在一个错误,这意味着此策略不适用于声明为:remote => true
的表单。但是,那是一段时间以前我确实提出了一个错误报告,所以它可能已经被修复了。