목록에 여러 쌍의 중간 표를 표시하고 편집할 때까지
한 달 정도 공부했기 때문에 참고로 삼을 수 없습니다.
설명 수준
이미지
참고 자료
rails로 라디오 단추를 만드는 방법(모형 불합성판)
https://ch.nicovideo.jp/tokyo-webs/blomaga/ar222386
Rails formgg에서 생성된 HTML
https://maeharin.hatenablog.com/entry/20120811/p1
Rubby: 해시를 배열로 변환
http://tm.root-n.com/programming:ruby:etc:hash2array
Rubby - 반복 정렬 및 해싱 each
http://azuuun-memorandum.hatenablog.com/entry/2016/04/12/213839
Ruby on Rails 데이터 업데이트
https://qiita.com/shell/items/c9869809cba91e9c35a1
[Rails5] (신규) formwith 및 (구)formtag, form_for의 차이
https://qiita.com/hmmrjn/items/24f3b8eade206ace17e2
코드
controllerdef show
@workspace = Workspace.find(params[:id])
@photos = @workspace.photos.all
@users = User.all
end
view # userの人数分テーブルを横に伸ばす
<% @users.each do |user| %>
<th><%= user.name %></th>
<% end %>
</tr>
#photoの枚数分レコードを表示
<% @photos.each do |photo| %>
<tr>
<% @users.each do |user| %>
<td>
<div class="btn-group btn-group-xs btn-group-vertical" data-toggle="buttons" role="group">
#helperにアクション記述
<% get_relation(photo, user) %>
helper # photo一枚毎のリレーションを取得する
def get_relation(photo, user)
relationship = Relationship.where(photo_id: photo.id).where(user_id: user.id).first
@target1 = ""
@target2 = ""
if relationship
if relationship.target == 1 then
@target1 = " active"
end
if relationship.target == 2 then
@target2 = " active"
end
else
end
end
view # helperで生成した文字列でデフォルト値を設定
#トグルボタンは同じname属性でグルーピングされるのでidを文字列結合してあとで取得できるように
<label class="btn btn-default<%= @target1 %>">
" 1 "<%= radio_button 'target', photo.id.to_s + '_' + user.id.to_s , 1, {} %>
</label>
<label class="btn btn-default<%= @target2 %>">
" 2 "<%= radio_button 'target', photo.id.to_s + '_' + user.id.to_s , 2, {} %>
</label>
</div>
</td>
<% end %>
</tr>
<% end %>
</table>
<%= submit_tag ' 送信する ' %>
<% end %>
controller def create
@relationship_keys = params[:target]
@relationship_keys.each do |key,value|
key = key.split("_")
photo_id = key[0]
user_id = key[1]
relationship = Relationship.where(photo_id: photo_id ).where(user_id: user_id).first
if relationship
relationship.target = value
else
relationship = Relationship.new(user_id: user_id, photo_id: photo_id, target: value)
end
if relationship.save
else
end
end
flash[:success] = 'stasu更新完了'
redirect_to workspace_path(params[:workspace_id])
end
Reference
이 문제에 관하여(목록에 여러 쌍의 중간 표를 표시하고 편집할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/dev_ysk/items/65ee4f4772e25fd97346
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
rails로 라디오 단추를 만드는 방법(모형 불합성판)
https://ch.nicovideo.jp/tokyo-webs/blomaga/ar222386
Rails formgg에서 생성된 HTML
https://maeharin.hatenablog.com/entry/20120811/p1
Rubby: 해시를 배열로 변환
http://tm.root-n.com/programming:ruby:etc:hash2array
Rubby - 반복 정렬 및 해싱 each
http://azuuun-memorandum.hatenablog.com/entry/2016/04/12/213839
Ruby on Rails 데이터 업데이트
https://qiita.com/shell/items/c9869809cba91e9c35a1
[Rails5] (신규) formwith 및 (구)formtag, form_for의 차이
https://qiita.com/hmmrjn/items/24f3b8eade206ace17e2
코드
controllerdef show
@workspace = Workspace.find(params[:id])
@photos = @workspace.photos.all
@users = User.all
end
view # userの人数分テーブルを横に伸ばす
<% @users.each do |user| %>
<th><%= user.name %></th>
<% end %>
</tr>
#photoの枚数分レコードを表示
<% @photos.each do |photo| %>
<tr>
<% @users.each do |user| %>
<td>
<div class="btn-group btn-group-xs btn-group-vertical" data-toggle="buttons" role="group">
#helperにアクション記述
<% get_relation(photo, user) %>
helper # photo一枚毎のリレーションを取得する
def get_relation(photo, user)
relationship = Relationship.where(photo_id: photo.id).where(user_id: user.id).first
@target1 = ""
@target2 = ""
if relationship
if relationship.target == 1 then
@target1 = " active"
end
if relationship.target == 2 then
@target2 = " active"
end
else
end
end
view # helperで生成した文字列でデフォルト値を設定
#トグルボタンは同じname属性でグルーピングされるのでidを文字列結合してあとで取得できるように
<label class="btn btn-default<%= @target1 %>">
" 1 "<%= radio_button 'target', photo.id.to_s + '_' + user.id.to_s , 1, {} %>
</label>
<label class="btn btn-default<%= @target2 %>">
" 2 "<%= radio_button 'target', photo.id.to_s + '_' + user.id.to_s , 2, {} %>
</label>
</div>
</td>
<% end %>
</tr>
<% end %>
</table>
<%= submit_tag ' 送信する ' %>
<% end %>
controller def create
@relationship_keys = params[:target]
@relationship_keys.each do |key,value|
key = key.split("_")
photo_id = key[0]
user_id = key[1]
relationship = Relationship.where(photo_id: photo_id ).where(user_id: user_id).first
if relationship
relationship.target = value
else
relationship = Relationship.new(user_id: user_id, photo_id: photo_id, target: value)
end
if relationship.save
else
end
end
flash[:success] = 'stasu更新完了'
redirect_to workspace_path(params[:workspace_id])
end
Reference
이 문제에 관하여(목록에 여러 쌍의 중간 표를 표시하고 편집할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/dev_ysk/items/65ee4f4772e25fd97346
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def show
@workspace = Workspace.find(params[:id])
@photos = @workspace.photos.all
@users = User.all
end
# userの人数分テーブルを横に伸ばす
<% @users.each do |user| %>
<th><%= user.name %></th>
<% end %>
</tr>
#photoの枚数分レコードを表示
<% @photos.each do |photo| %>
<tr>
<% @users.each do |user| %>
<td>
<div class="btn-group btn-group-xs btn-group-vertical" data-toggle="buttons" role="group">
#helperにアクション記述
<% get_relation(photo, user) %>
# photo一枚毎のリレーションを取得する
def get_relation(photo, user)
relationship = Relationship.where(photo_id: photo.id).where(user_id: user.id).first
@target1 = ""
@target2 = ""
if relationship
if relationship.target == 1 then
@target1 = " active"
end
if relationship.target == 2 then
@target2 = " active"
end
else
end
end
# helperで生成した文字列でデフォルト値を設定
#トグルボタンは同じname属性でグルーピングされるのでidを文字列結合してあとで取得できるように
<label class="btn btn-default<%= @target1 %>">
" 1 "<%= radio_button 'target', photo.id.to_s + '_' + user.id.to_s , 1, {} %>
</label>
<label class="btn btn-default<%= @target2 %>">
" 2 "<%= radio_button 'target', photo.id.to_s + '_' + user.id.to_s , 2, {} %>
</label>
</div>
</td>
<% end %>
</tr>
<% end %>
</table>
<%= submit_tag ' 送信する ' %>
<% end %>
def create
@relationship_keys = params[:target]
@relationship_keys.each do |key,value|
key = key.split("_")
photo_id = key[0]
user_id = key[1]
relationship = Relationship.where(photo_id: photo_id ).where(user_id: user_id).first
if relationship
relationship.target = value
else
relationship = Relationship.new(user_id: user_id, photo_id: photo_id, target: value)
end
if relationship.save
else
end
end
flash[:success] = 'stasu更新完了'
redirect_to workspace_path(params[:workspace_id])
end
Reference
이 문제에 관하여(목록에 여러 쌍의 중간 표를 표시하고 편집할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/dev_ysk/items/65ee4f4772e25fd97346텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)