mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-22 19:16:23 +00:00
wip de edicion de articulos
This commit is contained in:
parent
912da888f0
commit
851da77ce7
8 changed files with 80 additions and 1 deletions
|
@ -35,4 +35,5 @@ body {
|
||||||
textarea.post-content {
|
textarea.post-content {
|
||||||
min-height: 80vh;
|
min-height: 80vh;
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
|
font-size: 90%;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,4 +9,26 @@ class PostsController < ApplicationController
|
||||||
@site = find_site
|
@site = find_site
|
||||||
@post = find_post(@site)
|
@post = find_post(@site)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def edit
|
||||||
|
@site = find_site
|
||||||
|
@post = find_post(@site)
|
||||||
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
|
p = post_params
|
||||||
|
|
||||||
|
# crear un array a partir de una cadena separada por comas
|
||||||
|
[:tags,:categories].each do |comma|
|
||||||
|
p[comma] = p.dig(comma).split(',').map(&:strip)
|
||||||
|
end
|
||||||
|
|
||||||
|
binding.pry
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def post_params
|
||||||
|
params.require(:post).permit(:title, :date, :tags, :categories, :content)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -15,7 +15,9 @@ class Post
|
||||||
def initialize(site:, post:, front_matter: {})
|
def initialize(site:, post:, front_matter: {})
|
||||||
@site = site
|
@site = site
|
||||||
@post = post
|
@post = post
|
||||||
@errors = []
|
# los errores tienen que ser un hash para que
|
||||||
|
# ActiveModel pueda traer los errores normalmente
|
||||||
|
@errors = {}
|
||||||
@front_matter = front_matter
|
@front_matter = front_matter
|
||||||
|
|
||||||
new_post! unless @post
|
new_post! unless @post
|
||||||
|
|
24
app/views/posts/_form.haml
Normal file
24
app/views/posts/_form.haml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
= form_tag site_post_path(@site, @post), method: :patch, class: 'form' do
|
||||||
|
.form-group
|
||||||
|
= submit_tag t('posts.save'), class: 'btn btn-success'
|
||||||
|
.form-group
|
||||||
|
= text_field 'post', 'title', value: @post.title, class: 'form-control',
|
||||||
|
placeholder: t('posts.title')
|
||||||
|
.form-group
|
||||||
|
= text_area_tag 'post[content]', @post.content, autofocus: true,
|
||||||
|
class: 'form-control post-content'
|
||||||
|
.form-group
|
||||||
|
= label_tag 'post_date', t('posts.date')
|
||||||
|
= date_field 'post', 'date', value: @post.date.strftime('%F'),
|
||||||
|
class: 'form-control'
|
||||||
|
%small.text-muted.form-text= t('posts.date_help')
|
||||||
|
.form-group
|
||||||
|
= label_tag 'post_categories', t('posts.categories')
|
||||||
|
= text_field 'post', 'categories', value: @post.categories.join(', '),
|
||||||
|
class: 'form-control'
|
||||||
|
%small.text-muted.form-text= t('posts.tags_help')
|
||||||
|
.form-group
|
||||||
|
= label_tag 'post_tags', t('posts.tags')
|
||||||
|
= text_field 'post', 'tags', value: @post.tags.join(', '),
|
||||||
|
class: 'form-control'
|
||||||
|
%small.text-muted.form-text= t('posts.tags_help')
|
9
app/views/posts/edit.haml
Normal file
9
app/views/posts/edit.haml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
.container-fluid
|
||||||
|
.row
|
||||||
|
%h1
|
||||||
|
= t('posts.editing')
|
||||||
|
= @post.title
|
||||||
|
|
||||||
|
.row
|
||||||
|
.col
|
||||||
|
= render 'posts/form'
|
|
@ -2,6 +2,9 @@
|
||||||
|
|
||||||
%h1= @post.title
|
%h1= @post.title
|
||||||
|
|
||||||
|
= link_to t('posts.edit'), edit_site_post_path(@site, @post),
|
||||||
|
class: 'btn btn-info'
|
||||||
|
|
||||||
.content
|
.content
|
||||||
:markdown
|
:markdown
|
||||||
#{@post.content}
|
#{@post.content}
|
||||||
|
|
|
@ -7,3 +7,13 @@ en:
|
||||||
title: 'Sites'
|
title: 'Sites'
|
||||||
footer:
|
footer:
|
||||||
powered_by: 'is developed by'
|
powered_by: 'is developed by'
|
||||||
|
posts:
|
||||||
|
edit: 'Edit'
|
||||||
|
save: 'Save'
|
||||||
|
date: 'Publication date'
|
||||||
|
date_help: 'This changes the articles order!'
|
||||||
|
title: 'Title'
|
||||||
|
tags: 'Tags'
|
||||||
|
tags_help: 'Comma separated!'
|
||||||
|
categories: 'Categories'
|
||||||
|
categories_help: 'Comma separated!'
|
||||||
|
|
|
@ -7,3 +7,11 @@ es:
|
||||||
title: 'Sitios'
|
title: 'Sitios'
|
||||||
footer:
|
footer:
|
||||||
powered_by: 'es desarrollada por'
|
powered_by: 'es desarrollada por'
|
||||||
|
posts:
|
||||||
|
edit: 'Editar'
|
||||||
|
save: 'Guardar'
|
||||||
|
date: 'Fecha de publicación'
|
||||||
|
date_help: '¡Esto cambia el orden de los artículos!'
|
||||||
|
title: 'Título'
|
||||||
|
categories: 'Categorías'
|
||||||
|
categories_help: '¡Separadas por comas!'
|
||||||
|
|
Loading…
Reference in a new issue