1
Я видел похожие примеры здесь. Но это просто не работает для меня. Я хочу создать/отправить мероприятие для публикации. Есть несколько дней под постом. И деятельность находится на определенную дату. См. Модели ниже.Ruby on Rails Вложенные ресурсы неопределенный метод
Модели:
class Post < ActiveRecord::Base
has_many :dayinposts
has_many :activitys, :through => :dayinposts
end
class Dayinpost < ActiveRecord::Base
belongs_to :post
has_many :activitys
end
class Activity < ActiveRecord::Base
belongs_to :dayinpost
end
Маршруты:
resources :posts do
resources :dayinposts do
resources :activitys
end
end
рейк маршруты
post_dayinpost_activitys GET /posts/:post_id/dayinposts/:dayinpost_id/activitys(.:format) activitys#index
POST /posts/:post_id/dayinposts/:dayinpost_id/activitys(.:format) activitys#create
show.html.erb
<% @post.dayinposts.each do |dayinpost| %>
<% dayinpost.activitys.each do |activity| %>
<p>
<b>Action:</b>
<%= activity.action %>
</p>
<% end %>
<%= form_for([@post, dayinpost, dayinpost.activitys.build]) do |f| %>
<div class="field">
<%= f.label :action %><br />
<%= f.text_field :action %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
<% end %>
ошибка
undefined method `post_dayinpost_activities_path' for #<#<Class:0x40cb6d8>:0x40c9890>
Но я видел его в реках маршрутах ... заранее спасибо!
большое спасибо! Я не понимал, что плюрализация так важна в ROR. Я думал, что пока я использую деятельность везде, все должно быть хорошо. – user1495133
@ user1495133 Подробнее о том, как это делает Rails, см. [Класс Inflector] (http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html). –