JSON APIを持つRails 3.2.2アプリケーションで作業していて、データを挿入するのに CLIクライアントを使用しています。作成者 モデルを除いて正常に動作します。私は新しい投稿を作成しようとすると(ポストBELONGS_TO:著者と 者にhas_many:記事を)私は次のエラーを取得:attr_accessibleを使用しても保護された属性を一括割り当てできません
<h1>
ActiveModel::MassAssignmentSecurity::Error in PostsController#create
</h1>
<pre>Can't mass-assign protected attributes: name</pre>
を私はトピックの研究の多くをしましたが、私は何の作業溶液 見つかりませんでした。 - 。(私はMassAssignentエラーを回避するためにattr_accessible使用して、それがすべての 他のモデルのためではなく、「著者」name属性のために働く
ここ
は、Authorモデルである:
class Author < ActiveRecord::Base
attr_accessible :name, :email
extend FriendlyId
friendly_id :name, use: :slugged
# some validations
has_many :posts
#authlogic
acts_as_authentic
# some stuffs
end
は実は、私は無効になっwhitelist_attributesを持っており、それは私の問題を解決し が、私はそれがこれを行うための便利な方法ではないと仮定し(そしておそらく ない良いアイデア)。
私の質問は次のとおりです:なぜattr_accessibleがここで動作しないのですか?そして、どのように ホワイトリストを無効にせずに問題を解決することができますか?
は、レヴァン
EDITありがとう:
新しい投稿を作成する方法:
def create
@post = Post.new(params[:post])
@post.author = current_author
# respond to etc.
end
current_authorが与えられたAPIキーを使用して、著者を検索します。
上で動作acts_as_taggable_on宝石(https://github.com/mbleigh/acts-as-taggable-on) を使うのか? 'attr_accessible'がやっていることのいくつかを「取り消し」することは可能でしょうか?チェックしておらず、それについて何も知らない、ただのアイデア。 –
あなたの答えをありがとう。ほとんどの他のモデルはfriendly_idを使用します – R3v4n
Bummer;大丈夫:)クラス宣言で同じ順序で? –