Difference between revisions of "Ruby on Rails"
Jump to navigation
Jump to search
(Created page with "== Ruby on Rails ==") |
(quire ") |
||
| Line 1: | Line 1: | ||
== | == View Components == | ||
(this is faster than partials, because it's plain ruby code) | |||
bundle add view_component | |||
rails g component header title | |||
(creates) | |||
/app/components/header_component.rb | |||
/app/test/header_component_test.rb | |||
/app/components/header_component.html.erb | |||
/app/views/pages/home.html.erb: | |||
<%= render(HeaderComponent.new("Hello World")) do %> | |||
This content will be inserted into the Header Component!! | |||
<% end %> | |||
/app/components/header_component.rb: | |||
Class HeaderComponent < ViewComponent::Base | |||
def initialize(title) | |||
@title = title | |||
end | |||
end | |||
/app/components/header_component.html.erb: | |||
<h1><%= @title %></h1> | |||
<p><%= content %></p> | |||
/app/tests/header_component_test.rb | |||
re | |||
Revision as of 16:26, 6 November 2025
View Components
(this is faster than partials, because it's plain ruby code)
bundle add view_component
rails g component header title (creates) /app/components/header_component.rb /app/test/header_component_test.rb /app/components/header_component.html.erb
/app/views/pages/home.html.erb:
<%= render(HeaderComponent.new("Hello World")) do %> This content will be inserted into the Header Component!! <% end %>
/app/components/header_component.rb:
Class HeaderComponent < ViewComponent::Base
def initialize(title) @title = title end
end
/app/components/header_component.html.erb:
<%= @title %>
<%= content %>
/app/tests/header_component_test.rb
re