Integrate Prismic with an existing project
If you already have a Ruby project that you want to integrate with Prismic, then you can simply add the Prismic Ruby development kit library as a dependency. Let's walk through all the steps to get Prismic integrated into your project!
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.
Let's add the Prismic 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
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'
Now we can query your Prismic repository and retrieve the content as shown below.
api = Prismic.api('https://your-repo-name.cdn.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.cdn.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.
When querying a Prismic repository, your results will be paginated. By default, there are 20 documents per page in the results. You can read more about how to manipulate the pagination in the Pagination for Results page.
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.
In order to take full advantage of Prismic's features, check out the Previews and the Prismic Toolbar page. There you will find the steps needed to add these features to your own Ruby app.
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.