Отсутствует частичный учебник по главе 8 - PullRequest
3 голосов
/ 22 января 2012

Я использую учебное пособие по Ruby on Rails Майкла Хартла - Глава 8 - Rails 3 Я использую рельсы 3.1 В файле new.html.erb у меня есть:

<h1>Sign up</h1>
<%= form_for(@user) do |f| %>
<%= render 'shared/error_messages' %>

Попытка посетить http://localhost:3000/signup, выдает мне следующее сообщение:

ActionView::MissingTemplate in Users#new

Missing partial /shared/error_messages with {:handlers=>[:erb, :builder, :coffee], 
:formats=>[:html], :locale=>[:en, :en]}. Searched in:
* "/Users/macbook/rails_projects/sample_app/app/views"

Я погуглил, но не смог найти этот ответ. Тот же вопрос был опубликован некоторое время назад по адресу: Частичный файл учебника по Ruby Chapter 8 не найден

Что я пробовал: -передача / перед общим - добавление: частичное => после рендера -putting: target => @ user

Если я не положу его в общую папку, он будет работать. Есть ли другой способ сделать это в рельсах 3.1.3? Пожалуйста, дайте мне знать, потому что я потратил так много времени, пытаясь понять это.

Ответы [ 4 ]

8 голосов
/ 22 января 2012

Если вы говорите;

<%= render 'shared/error_messages' %>

будет искать часть с именем shared/error_messages в app/views/#{controller_name}

т. если вы находитесь в действии users#signup, он ожидает найти app/views/users/shared/error_messages

Если на самом деле вы имеете в виду app/views/shared/error_messages тогда вы должны сказать следующее.

<%= render '/shared/error_messages' %>

Это единственный способ избежать двусмысленности.

7 голосов
/ 02 ноября 2012

Правильно ли вы назвали файл (с подчеркиванием)? Это была моя проблема ...

error_messages.html.erb

должно быть

_error_messages.html.erb

1 голос
/ 04 апреля 2016

В моем случае я назвал общую папку Shared вместо shared .Также убедитесь, что частичное начинается с подчеркивания.

0 голосов
/ 19 марта 2019

даже незнакомец, я назвал мой _clinicaltrails.html.erb вместо _clinicaltrial.html.erb;Угадай меня, почему создание единственного числа сработало, но думал, что я оставлю свое решение здесь и для разочарованных новичков в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...