내가 얻을 수있는 객체 속성과 레일에 루비의 속성을 제외하고 속성과 내가 3 개 속성이있는 경우루프
<% @object.attributes.each do |attr_name| %>
....
<% end %>
내가 3 개 특성을 얻을.
I하려는 경우에만 name
의 attr_name
및 email
이
나는이 루프 폐기 또는 field :second_name
당신에게
내가 얻을 수있는 객체 속성과 레일에 루비의 속성을 제외하고 속성과 내가 3 개 속성이있는 경우루프
<% @object.attributes.each do |attr_name| %>
....
<% end %>
내가 3 개 특성을 얻을.
I하려는 경우에만 name
의 attr_name
및 email
이
나는이 루프 폐기 또는 field :second_name
당신에게
감사 제외 할 수 있습니다 어떻게 당신은 당신의 루프 내에서 조건을 추가 할 수있는 특성을 얻을 좋아요 :
@object.attributes.each do |attr_name|
unless attr_name.eql?('second_name')
# Do stuff here
end
end
필자는 개인적으로'next if attr_name == 'second_name''을 사용합니다.이 함수는 기능적으로는 같지만 나머지 메서드는 들여 쓰지 않아도됩니다. – MrTheWalrus
대단히 고마워요 – hyperrjas
특정 속성을 포함하거나 제외시키는 기준이 무엇인지는 명확하지 않습니다. 당신이 블랙리스트를 원하는 경우
는 :
(@object.attributes & [:name, :email, :socks]).each{ ... }
대단히 고마워요! – hyperrjas
블랙리스트 :
exclude = [:a, :b, :c]
@object.attributes.reject { |k,v| only.include?(k.to_sym) }
(@object.attributes - [:second_name]).each{ ... }
# Alternatively:
@object.attributes.reject{ |n| n==:second_name }.each{ ... }
당신은 허용 목록을 원하는 경우3210
화이트리스트 :
only = [:a, :b, :c]
@object.attributes.select { |k,v| only.include?(k.to_sym) }
블랙리스트'(@ object.attributes - [: second_name). 각 {...}'화이트리스트'[: 이름 : 이메일] .each {...}' – Phrogz