結果的にはこの形になったよう <%= render ExampleComponent.new %> class ExampleComponent def render_in(view_context) view_context.content_tag(:p, 'Hello, World!') end end
renders_one :heading renders_one :body end <%# app/components/article_component.html.erb %> <h1><%= heading %></h1> <p><%= body %></p> <%= render(ArticleComponent.new) do |component| %> <% component.with_heading do %> My Title <% end %> <% component.with_body do %> Hello, World! <% end %> <% end %>
let(:component) { described_class.new(placeholder: ' キーワードを入力') } it 'renders the message' do html = render_inline(component) expect(html.text).to include(' キーワードを入力') end end