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 DraftまたはPublishボタンをクリックできるようにフォームを変更したいと思います(WordPressの場合と同じように)。

draftこれらのボタンを属性の値に影響を与える方法がわかりません。

何か案は?

4

1 に答える 1

1

ボタンをクリックするsubmitと、Railsは自動的にハッシュに"commit"エントリを含めます。このエントリには、クリックされたボタンのテキストが含まれています。paramsコントローラでそれをキーオフできるはずです。

前回試したときに、jquery-ujsこの戦術がとして宣言されたフォームでは機能しないというバグがあったことに注意してください:remote => true。ただし、それは少し前のことで、バグレポートを作成したので、後で修正された可能性があります。

于 2012-12-17T11:17:36.783 に答える