Когда я хочу опубликовать сообщение, у меня есть следующее: см. Проблему
Я использую Rails на Archlinux.
Это мой контролер posts_controller.rb:
module Admin
class PostsController < ApplicationController
before_action :set_post, :set_categories, only: [:update, :edit, :destroy]
layout 'back'
def index
@posts = Post.all.order('created_at DESC')##.page(params[:page]).per(10)
end
def new
@posts = Post.new
@users = current_user
@categories = Category.all.map{|c| [ c.name, c.id ] }
end
def create
@posts = Post.new(post_params)
@posts.category_id = params[:category_id]
if @posts.save
redirect_to({action: :index}, success: "L'article a bien ete cree")
else
render :new
end
end
def edit
@categories = Category.all.map{|c| [ c.name, c.id ] }
end
def update
if @posts.update(post_params)
@posts.category_id = params[:category_id]
redirect_to({action: :index}, success: "L'article a bien ete modifie")
else
render :new
end
end
def destroy
@posts.destroy
redirect_to({action: :index}, success: "L'article a bien ete supprime")
end
private
def post_params
params.require(:post).permit(:title, :meta, :description, :precontent, :content, :category_id)
end
def set_post
@posts = Post.friendly.find(params[:id])
end
def set_categories
@categories = Category.all
end
end
end
Это мое мнение:
<div class="row">
<div class="col-md-9">
<div class="card">
<div class="card-header">Ajouter un article</div>
<div class="card-body">
<%= simple_form_for @posts, url: [:admin, @posts], html:{class: 'form-horizontal'} do |f| %>
<%= f.input :title, label: "Titre" %>
<%= f.input :meta, label: "Meta TAGS (Referencement)" %>
<%= f.input :description, label: "Description" %>
<%= f.input :precontent, label: "Pre Contenu" %>
<%= f.input :content, label: "Contenu" %>
<button type="submit" class="btn btn-primary">Ajouter l'article</button>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card">
<div class="card-header">Image & Categories</div>
<div class="card-body">
<%= select_tag(:category_id, options_for_select(@categories), class: 'form-control') %>
<% end %>
</div>
</div>
</div>
</div>
Это моя модель. Сообщение:
class Post < ApplicationRecord
extend FriendlyId
friendly_id :title, use: [:slugged]
belongs_to :category
belongs_to :user
end
Это моя модель. Категория:
class Category < ApplicationRecord
has_many :posts
end
Колесом отношения является ManyToOne. Я хочу использовать простую форму с ассоциацией, но я не знаю, как ее работа должным образом.
Заранее спасибо за вашу снисходительность, я французский, и я не очень хорош на английском.