Mailboxer Gem で添付ファイル付きのメッセージを送信しようとしています。
私のスタックは: Rails 4 と Ruby 2.1.1
ただし、CarrierWave を使用したアタッチメントは、以下のコードのリンクとして既にサポートされていることがわかります。
ただし、セットアップはまったく同じように行いました。添付ファイルのない通常のメッセージは問題ありません。
これは私のコードです:
コントローラー:
def create_message
if params[:user].present? & params[:message].present? & params[:subject].present?
current_user.send_message(User.find(params[:user]), params[:message], params[:subject])
redirect_to inbox_path
end
end
これは私のビューコードです:
<%= form_tag do %>
<%= select_tag 'user', options_from_collection_for_select(User.all, :id, :fullname) %><br/>
<%= text_field_tag 'subject' %><br/>
<%= text_area_tag 'message' %><br/>
<%= submit_tag 'Send' %>
<% end %>
上記のコードは正常に機能しており、メッセージは送信されていますが、ファイル フィールドをそのように追加してコントローラー コードを変更しようとすると、添付ファイルがアップロードされません。
def create_message
if params[:user].present? & params[:message].present? & params[:subject].present?
current_user.send_message(User.find(params[:user]), params[:message], params[:subject], true , params[:attachment])
redirect_to inbox_path
end
end
意見 :
<%= form_tag do %>
<%= select_tag 'user', options_from_collection_for_select(User.all, :id, :fullname) %><br/>
<%= text_field_tag 'subject' %><br/>
<%= text_area_tag 'message' %><br/>
<%= file_field_tag 'attachment' %>
<%= submit_tag 'Send' %>
<% end %>
これは強力なパラメーターの問題だと思います。Rails 3 では、attr_accessible を使用できました。attachment
ただし、フィールドがブロックされたり許可されたりしていないことを確認するにはどうすればよいですか?
PS - Carrierwave gem がインストールされており、サーバーを何度も再起動しました。
ありがとう。