나는 User
과 Group
모델을 가지고 있습니다. belongs_to
User
프런트 엔드에서 레일의 연결
User
has_many
Groups
및 Group
은 이미 사용자 테이블의 항목이 있습니다
id name
--------------
1 testuser
2 someotheruser
이 ID
1 (testuser)
와 사용자가 로그인 상상해 경우와 그 사용자의 내부 그룹을 만들려고합니다.
나는 DB의 항목은 다음과 같이가는 그룹 컨트롤러의 새로운 액션에서 새 그룹을 만들 때 : 당신이 보는대로 연관이 그래서
id groupname user_id
------------------------
1 groupA
2 groupB
이 USER_ID는, 열은 항상 빈에서 진행됩니다 거기 없어.
이 연결을 만들기 위해 필요한 작업은 무엇입니까? GroupsController
에 대한
코드 :
def new
@group = Group.new
end
def create
@group = Group.new(params[:group])
if @group.save
flash[:notice] = "Successfully created group."
redirect_to groups_url
else
render :action => 'new'
end
end
코드
<% title "New Group" %>
<% form_for @group do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<p>
<%= f.label :description %><br />
<%= f.text_field :description %>
</p>
<p><%= f.submit %></p>
<% end %>
<p><%= link_to "Back to List", groups_path %></p>
views/groups/new.html.erb
에 내가 레일에 새로운 오전 어떻게 사용자와의 연결을 만드는 방법을 가르쳐주십시오. 콘솔에서이 같은 사용자 그룹을 추가하여 연결을 만들 수 있어요 :
@u = User.find(1)
@u.groups.create(:groupname=>"groupA")
@u.save
하지만 난이 프런트 엔드에서 수행 얻는 방법을 잘 모릅니다. 당신의 다른 절에서 : [오류]
def create
@group = Group.new(params[:group].merge!({:user_id => current_user}))
if @group.save
flash[:notice] = "Successfully created group."
redirect_to groups_url
else
render :action => 'new'
end
end
당신은 플래시 추가 할 수 있습니다 :
감사합니다. user_id로 숨겨진 필드를 전달하는 방법을 시도해 보았습니다.하지만이 방법이 훨씬 좋습니다. – Patrick