私はユーザーテーブルと組織テーブルを持っています。ユーザーにサインアップすると、アプリケーションによって新しい組織が作成されます。私はuser.rbにこのコードを置くことによってこれをしなかった:パラメータのIf-Elseステートメント?
class User < ActiveRecord::Base
before_create :create_organization
belongs_to :organization
private
def create_organization
self.organization = Organization.create :name => self.name
end
end
しかし、そのような、私はいくつかの並べ替えを作成するにはどうすればよい
http://localhost:3000/sign_up?organization_id=10
などのパラメータがURL経由で渡されますいくつかのケースがあるでしょうorganization_id
パラメータが存在する場合、ユーザモデルは新しい組織を作成しません。代わりに、既存のorganization_id
パラメータをユーザのorganization_idとして送信しますか?お使いのモデルに
ユーザコントローラの 'def create'部分にunless引数と' @user.organization_id = params [:organization_id] 'を入れました。私はもはやエラーは表示されませんが、新しいユーザーがサインアップすると、新しい組織が作成されます。 – cdotfeli
@cdotfeliは推測していますが、organization_idが 'create'アクションに渡されていることは確かですか? 'http:// localhost:3000/sign_up?organization_id = 10'に移動したときに、フォームを送信したときに存在する可能性があります。 –
@ mark-guk NVM入手しました。私はuser_controllerの 'def new'部分に' @user.organization_id = params [:organization_id] 'を入れ、ユーザサインアップビューに' f.hidden_field:organization_id'を入れなければなりません( ' :organization_id]、else'コード)。助けてくれてありがとう! – cdotfeli