Используйте forkJoin , чтобы выполнить и объединить весь ваш http-запрос, и mergeMap массив, отправленный из вашего источника в Observable, возвращенный forkJoin
. forkJoin
объединит последние (и только) переданные значения из всех ваших http-запросов в массив после того, как все они будут выполнены. Обратите внимание, что requestNum
должно завершиться после выдачи значения для forkJoin
для работы. (Http-запрос от Angular HttpClient
завершается после того, как они передают значение)
В зависимости от вашего Observable x
и желаемого поведения вы можете использовать switchMap вместо mergeMap
. [ 1112]
import { forkJoin } from 'rxjs';
import { mergeMap } from 'rxjs/operators';
serverNums : Observable = x.pipe(
mergeMap(num_array => forkJoin(num_array.map(n => requestNum(n))))
);
Делает redirect_to :action => 'show', :id => params[:id]
с кавычками вокруг выставочной работы?
Направляющие 2,1 объятия "УСПОКОИТЕЛЬНЫЕ ресурсы". show
просто, оказывается, название одного из предопределенных действий REST, которые используют все контроллеры направляющих.
Направляющие делают некоторое волшебство негласно, и: шоу эквивалентно для "отображения этого определенного элемента с определенным данным идентификатором". Кажется, что это становится путавшим с этим. Идентификатор, вероятно, принимает значение по умолчанию к "1". Следовательно сгенерированный URL Вы видите от вызова рендеринга
Направляющие 2,1 способа сделать его использовали бы следующие действия и шаблоны:
index
- отображает полный список комментариевcreate
- добавьте новый комментарийshow
- отобразите определенный комментарий только (не полный список). Не кажется, что это - то, что Вы хотите, но "волшебство" в направляющих примет значение по умолчанию к этому.Существуют также действия для new
(покажите представление для ввода нового комментария), edit
(покажите представление, чтобы сделать редактирование существующего комментария), update
(обработайте представление обновления), и destroy
(понятное дело), но не похоже на использование их в этом примере.
У Вас есть ссылка на учебное руководство? Не было бы слишком твердо для портирования его на направляющие 2,1 стиля.
да, Вы используете старый стиль направляющих.
Что-то новое:
form_for :comment, :url => { :post_id => @post } do |f|
f.text_area :body
submit_tag "Post"
end
можно использовать ресурсы для сообщений и комментариев, искать Google лучшее учебное руководство или установить направляющие 1.2.6:
gem install -v 1.2.6 rails