Integrating prismic.io with an existing Ruby project
If you already have a Ruby project that you want to integrate with prismic.io, then you can simply add the prismic.io Ruby development kit library as a dependency. Let’s walk through all the steps to get prismic.io integrated into your project!
1. Create a content repository
A content repository is where you define, edit and publish content.
Next you'll need to model your content, create your custom types, and publish some documents to your repository.
Now, let's take a look at how to connect this new content with your project.
2. Add the development kit as a dependency
Let's add the prismic.io Ruby kit as a dependency to your project.
Launch the terminal (command prompt or similar on Windows), point it to your project location and run the following command.
gem install prismic.io --pre
3. Require the prismic gem
To add the gem as a dependency to your project with Bundler, you can add the following line in your Gemfile.
gem 'prismic.io', require: 'prismic'
4. Get the API and query your content
Now we can query your prismic.io repository and retrieve the content as shown below.
api = Prismic.api('https://your-repo-name.prismic.io/api') response = api.query(Prismic::Predicates.at("document.type", "page")) documents = response.results
If you are using a private repository, then you'll need to include your access token like this.
url = 'https://your-repo-name.prismic.io/api' token = 'MC5XUkynrnlvQUFIdVViSElaE--_ve-_ve-_vUUece71r77-9FgXvv73vv73uu73v' api = Prismic.api(url, token) response = api.query(Prismic::Predicates.at("document.type", "page")) documents = response.results
To learn more about querying the API and explore the many ways to retrieve your content, check out the How to Query the API page.
5. Add the queried content to your templates
Once you've retrieved your content, you can include it in your template using the helper functions in the Ruby development kit. Here's a simple example.
<div class="content"> <h1><%= @document['page.title'].as_text() %></h1> <img src="<%= @document['page.image'].url %>" /> <%= @document['page.description'].as_html(nil).html_safe %> </div>
You can read more about templating your content in the Templating section of the documentation. There you will find explanations and examples of how to template each content field type.
And your prismic.io journey begins!
You should have all the tools now to really dig into your Ruby project. We invite you to further explore the docs to learn how to define your Custom Types, query the API, and add your content to your templates.