2013-03-11 3 views
0

Хорошо, так что это довольно простой вопрос, но для жизни меня я не могу найти нигде. Я нашел кучу вещей, которые очень близки к тому, что мне нужно, но ничего конкретного.Окружающие ассоциации simple_form с тегами td

Так вот мое мнение:

<tbody> 
    <% permissions.each do |permission| %> 
    <tr> 
     <td><%= permission.label %></td> 
     <%= simple_form_for permission do |f| %> 
     <%= f.association :roles, as: :check_boxes, label: false, label_method: lambda { |p| "" }, fields_element: "<td>" %> 
     <% end %> 
    </tr> 
    <% end %> 
    <%= debug(permissions) %>  
    </tbody> 

Я просто хочу поместить каждый из ролей в своем собственном TD теге. У меня такое чувство, что ответ настолько прост, что никто не беспокоился о публикации чего-либо об этом. Пожалуйста помоги!

+0

Кто-то отправил ответ, который сказал, что я должен использовать wrapper_tag. Однако я пробовал это, и он помещал тэг td вокруг всех связанных ролей вместо каждого из них. Когда я упомянул об этом, ответ был удален, но я хотел прокомментировать его здесь, поэтому я не получил того же ответа. Благодаря! –

ответ

1
= f.association :roles, as: :check_boxes, item_wrapper_tag: :td 

Если вы используете boostrap, добавьте эту опцию к входу: boolean_style: :inline согласно https://github.com/plataformatec/simple_form/issues/685#issuecomment-10184181

+0

Это работает, но вызывает небольшую проблему. Я использовал label_method: lambda {| p | ""}, чтобы удалить метку, но теперь метки возвращаются как «Идентификаторы роли 1/Роль ит 2 и т. д.». Мой новый вход выглядит так: <% = f.association: role, as:: check_boxes, label: false, label_method: lambda {| p | ""}, item_wrapper_tag:: td, boolean_style:: inline%> –

+0

Похоже, что 'label_method' /' item_wrapper_tag' и 'boolean_style:: inline' несовместимы. 'boolean_style:: inested' скроет метки, но игнорирует тег: td. – Leito

+0

Я согласен с Лейто. Тем не менее, это означает, что у меня все еще нет ответа. Это уловка 22 в этот момент. Я либо получаю ярлыки, либо теги td. –

Смежные вопросы