Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Criar urls customizáveis para o evento #350

Open
helioborges opened this issue Nov 9, 2017 · 4 comments
Open

Criar urls customizáveis para o evento #350

helioborges opened this issue Nov 9, 2017 · 4 comments

Comments

@helioborges
Copy link
Collaborator

helioborges commented Nov 9, 2017

Criar uma coluna string no events que se transforme no url customizável daquele evento

exemplo

o evento do url: gorails.com.br/eventos/4/
poderia ser
gorails.com.br/conf

ou no pior dos casos gorails.com.br/eventos/conf

permitir que ao digitar esse url, o sistema entenda (antes de jogar um 404) que é um url customizável e re-direcione para o gorails.com.br/eventos/4/

não permitir cadastro de eventos com o mesmo redirecionamento de url


verificar essa gem friendly_id, sugerida abaixo, se ela atender o requisito usa ela resolver esse chamado

@marceloperini
Copy link
Member

Já usei a gema "friendly_id" que faz isso

@jcottobboni
Copy link
Member

jcottobboni commented Nov 9, 2017

So colocar uma coluna chamada permalink

e fazer isso

    # Use callbacks to share common setup or constraints between actions.
    def set_event
      @event = Page.find_by_permalink!(params[:id])
    end

Coloca o permalink para ser único .

Ai vai achar pelo permalink , as paginas semi estáticas estão assim.

@helioborges
Copy link
Collaborator Author

é mas assim precisa que seja gorails.com.br/events/url

o ideal seria que da raiz já identificasse que era um url customizável

@jcottobboni
Copy link
Member

uhm ta, da pra fazer algo assim oh, e oque vou melhorar a engine de paginas.

def show
  if params[:permalink]
    @page = Page.find_by_permalink(params[:permalink])
  else
    @page = Page.find(params[:id])
  end
end
class Page < ActiveRecord::Base
  def route_name
    p = self.permalink.gsub(/([^A-Za-z0-9])+/, '_').downcase # Change non-alphanumeric characters to an underscore
    "static_#{p}"
  end
 
  def uri
    self.permalink.gsub(/([^A-Za-z0-9])+/, '/').downcase # Change non-alphanumeric characters to a forward slash
  end
end
def map.static_page_actions
  pages = Page.find(:all)
  pages.each do |page|
    self.send("static_#{page.route_name}", "#{page.uri}", :controller => "Pages", :action => "show", :permalink => page.permalink)
  end
end
map.static_page_actions
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'

não que eu ache isso necessário, creio que pode deixar o eventos, e so traduzir o path, que ta em inglês.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants