Я пытаюсь сделать две формы для двух разных моделей в одном представлении.Две формы, две модели, один вид ROR
У меня есть модель с названием категории и модель с именем post. Я пытаюсь сделать форму для категорий в одном представлении У меня есть форма для сообщений. Форма для сообщений работает отлично, но когда я пытаюсь добавить форму для категорий я получаю эту ошибку: неопределенный метод `MODEL_NAME» для категории :: ActiveRecord_Relation: Класс
category.rb - модель
has_many :posts
post.rb - модель
has_many :categories
posts_controller
def index
@posts = new.Post
@categories = new.Category
end
def create
@posts = Post.create(post_params)
@posts.save
redirect_to :back
end
def create_cate
@categories = Categroy.create(categories_params)
@categroies.save
redirect_to :back
end
сообщений просмотра - index.html.erb
<%= form_for(@posts) do |f| %>
<%= f.text_field :title %>
<%= f.text_area :content %>
<%= f.submit %>
<% end %>
<%= form_for(@categories) do |f| %>
<%= f.text_field :name %>
<%= f.submit %>
<% end %>
routes.rb
resources :posts
resources :categories
root 'posts#index'
Я пытался искать после того, как если, но я могу только найти решения для двух моделей, одной формы.
Заранее спасибо. :-)
Спасибо много. :-) – niiicolai
Этот подход неверен в соответствии с правилом Санди (http://robots.thoughtbot.com/sandi-metz-rules-for-developers) - * Контроллеры могут создавать только один объект. Поэтому представления могут знать только об одной переменной экземпляра, и представления должны отправлять сообщения только этому объекту. * –
звучит интересно. Я прочитаю об этом. Спасибо :) – niiicolai