Проблема, представляющая неравнодушный в расположении приложения (направляющие)

Мое предложение должно только запуститься - выбирают маленький проект, который Вы обычно использовали бы для изучения языка MVC-стиля (т.е. что-то с базой данных, возможно, некоторый основной рабочий процесс), и затем поскольку необходимо изучить понятие, используйте один (или оба!)

Гибкая веб-разработка с направляющими или направляющими Путь

для приобретения знаний о том, как это работает, и затем пробует его.

проблемы с Гибкой веб-разработкой состоят в том, что это устарело, и что сценарий работает слишком долго для Вас действительно, чтобы хотеть создать его однажды; направляющие, за которыми Путь может быть тверд следовать, поскольку он возвращается от ссылки до изучения, но когда это хорошо, это лучше, чем Гибкая веб-разработка.

, Но в целом они - и хорошие книги, и они оба хороши для изучения, но ни один из них не обеспечивает "образовательный" путь, за которым Вы захотите следовать. Таким образом, я прочитал несколько глав первого (достаточно, чтобы получить фундаментальные понятия и изучить, как загрузить первое приложение - существуют некоторые статьи онлайн, которые помогают с этим также), и затем просто начал, и затем каждые несколько дней, которые я считал о чем-то новом или я использую книги для понимания чего-то.

Еще одна вещь: обе книги являются намного большим количеством книг направляющих, чем они - книги Ruby, и если Вы собираетесь записать чистый код, стоит провести день, изучая синтаксис Ruby как можно раньше. То, почему Руководство по Ruby, является хорошим, также существуют другие.

6
задан Simone Carletti 2 December 2009 в 11:52
поделиться

2 ответа

Вам не нужен _ в вашем коде. Это должно быть:

<%= render :partial => 'tasks/new' %>

Первая ошибка связана с тем, что вам не нужно помещать _ внутри параметра: partial. Об этом позаботится Rails. Вот почему вы получаете двойное __, потому что Rails поместит его за вас.

Вторая ошибка - ваша настоящая проблема. Ошибка предполагает, что @task равен нулю. Это верно, потому что партиал знает только то, что знает представление контейнера, а ваше представление в этот конкретный момент не вызвало действие из соответствующего контроллера. Как вы (Малыш Диего) уже узнали и указали в одном из ваших комментариев ниже, вам нужно было создать экземпляр Задачи в вашем партиале. Не знаю, есть ли более элегантное решение, но, может быть, кто-нибудь в будущем предложит что-нибудь получше.

9
ответ дан 8 December 2019 в 17:23
поделиться

Петрос правильно определил первую проблему - вам не нужно подчеркивание в частичном вызове. Второе, что нужно знать о партиалах, это то, что они не вызывают метод контроллера, они просто ссылаются на представление. Таким образом, вам необходимо настроить объект @task в каждом действии, которое использует этот частичный код, или просто вызвать Task.new в частичном. Когда у меня есть партиал в макете в подобных ситуациях, я обычно загружаю его с помощью JavaScript, чтобы я мог вызвать действие.

4
ответ дан 8 December 2019 в 17:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: