From adfe01e11fb46a093fa675736d218686c72a27f1 Mon Sep 17 00:00:00 2001 From: f Date: Mon, 26 Feb 2018 15:58:56 -0300 Subject: [PATCH] poder crear un archivo nuevo sin traducciones --- app/controllers/posts_controller.rb | 4 ++-- app/models/post.rb | 5 ++++- app/views/posts/_form.haml | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/controllers/posts_controller.rb b/app/controllers/posts_controller.rb index a4c1e80..86059af 100644 --- a/app/controllers/posts_controller.rb +++ b/app/controllers/posts_controller.rb @@ -17,13 +17,13 @@ class PostsController < ApplicationController def new @lang = find_lang @site = find_site - @post = Post.new(site: @site, front_matter: { date: Time.now }) + @post = Post.new(site: @site, front_matter: { date: Time.now }, lang: @lang) end def create @lang = find_lang @site = find_site - @post = Post.new(site: @site, front_matter: post_params.to_hash) + @post = Post.new(site: @site, front_matter: post_params.to_hash, lang: @lang) if @post.save redirect_to site_posts_path(@site, lang: @lang) diff --git a/app/models/post.rb b/app/models/post.rb index dc74be1..b8545b2 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -81,7 +81,10 @@ class Post end def find_translations - get_front_matter('lang').map do |lang, id| + slugs = get_front_matter('lang') + return [] unless slugs.present? + + slugs.map do |lang, id| next if lang == @lang @site.posts_for(lang).find do |p| p.id == id diff --git a/app/views/posts/_form.haml b/app/views/posts/_form.haml index 0bb21c6..2d27226 100644 --- a/app/views/posts/_form.haml +++ b/app/views/posts/_form.haml @@ -121,7 +121,7 @@ = label_tag 'post_lang', t("posts.lang.#{lang}") = select_tag "post[lang][#{lang}]", options_for_select(@site.posts_for(lang).map { |p| [p.title, p.id] }, - @post.get_front_matter(:lang).dig(lang)), + @post.get_front_matter(:lang).try(:dig, lang)), { class: 'form-control select2' } %small.text-muted.form-text= t('posts.lang_help') .form-group