私はメッセージモデルとユーザーモデルを持っています。私のメッセージbelongs_to
私のユーザとユーザhas_many
メッセージ。ID値をコントローラに渡し、一括割り当てセキュリティエラー
公開プロフィールページ(自分のショーテンプレート)で、別のユーザーにプライベートメッセージを送信できるようにしようとしています。私はいくつかの試みを試みましたが、私は最終的にIDがattr_accessible
(私は悪いと聞いています)であることを要求する問題に戻ります。私は何か間違っているのですか?
私のメッセージモデルは、:user_id
(現在のユーザー、別名:sending_from
ID)、:to_id
、:content
です。
私は、ユーザーのプロフィールページで探していたとき、フォームが送信したときに、私は私のユーザーshowアクションで
<%= form_for([current_user, @message]) do |f| %>
<%= f.hidden_field :to_id, :value => @user.id %>
<div class="field">
<%= f.text_area :content, placeholder: "Send a private message..." %>
</div>
<%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>
を持っているショーのテンプレートに、私はそれが行く、
def show
@user = User.find(params[:id])
@microposts = @user.microposts.paginate(page: params[:page])
if user_signed_in?
@message = current_user.messages.build(params[:messages], to_id: @user.id)
end
end
を持っています私のメッセージに私は常にエラーを取得し、
def create
@message = current_user.messages.build(params[:message])
redirect_to user_path(params[:message][:to_id])
end
しかしアクションを作成
`Can't mass-assign protected attributes: to_id`
:to_id attr_accessible
で修正できるようですが、それほど安全ではないと聞いています。私は何か間違っているのですか?この問題は私を殺している。
ご協力いただければ幸いです。ありがとう
私はこれを編集していた前に、あなたには、いくつかの[Alots](http://hyperboleandahalf.blogspot.comに対処しなければなりません:そのように行う理由は、以下のような追加のホワイトリストのパラメータを追加するかもしれません/2010/04/alot-is-better-than-you-at-everything.html)! –