質問

このRESTfulなを保持したまま

どのように私は、協会自体を破壊し、一人で関連付けられているオブジェクトを残していますか?

具体的には、私はこれらのモデルを持っています:

class Event < ActiveRecord::Base
  has_many :model_surveys, :as => :surveyable, :dependent => :destroy, :include => :survey
  has_many :surveys, :through => :model_surveys
end

class ModelSurvey < ActiveRecord::Base
  belongs_to :survey
  belongs_to :surveyable, :polymorphic => true
end

class Survey < ActiveRecord::Base
  has_many :model_surveys
end

これは、イベントが:surveyableModelSurvey belongs_to Event)であることを言っています。私の質問は一人でModelSurveysControllerModelSurveyを残したまま、私は、Eventを破壊しないか、Surveyを作成することなく、ある?

map.resources :events, :has_many => :model_surveysと何か?私はこのような状況で何をすべきかは非常にわかりません。何がルートで発生する必要があり、何がコントローラで発生する必要がありますか?私は、URLは次のようなものを見ることができる願っています:

/events/:title/model_surveys/:id

あなたの助けのおかげで、 ランス

役に立ちましたか?

解決

のRails 2.3では、あなたは問題のイベントにModelSurveysの配列を渡すことができますaccepts_nested_attributes_forを持っています。ネストされた属性の宣言によって破壊することができた場合は、event[model_surveys][1][_destroy]=1を渡すことができるでしょうとの関連付けは削除されます。 href="http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html" rel="nofollow noreferrer"> APIドキュメントを

他のヒント

リソースドメイン!=モデルドメイン


コントローラのドメインは、モデルのそれと同じではありません。これは、リソースの状態を変化させることにより、複数のモデルを更新するために、完全に罰金です。

他のIDのリストが含まれています。イベントやアンケート調査のいずれかにPUTやPOSTを行うことを意味し、あなたの場合。 1のモデルは、関連を更新します。

にPUTやPOST

一部の人(ただし、ロイフィールディングを)信じていますあなたは、リソースを更新し、再び状態のすべてを提供するために、PUTを使用する必要があることを、他の人は、部分的な状態(ALAのPATCH)とPOSTが十分であることを感じます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top