Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Configurando root job board

Seguinte, já fiz umas 2 vezes essa etapa e funcionou, porém, formatei meu mac, e agora deu ruim. Não sei porque, mas agora quando executo o comando "rm public/index.html" me retorna isso "rm: public/index.html: No such file or directory" Alterei as configurações de root na "locales/ routes.rb" e quando atualizo a página me aparece o seguinte erro: "NoMethodError in JobsController#index undefined method `attr_accessible' for #

Extracted source (around line #2):

class Job < ActiveRecord::Base attr_accessible :description, :title validates_presence_of :description, :title end

Rails.root: /Users/itsrobert/job_board

Application Trace | Framework Trace | Full Trace app/models/job.rb:2:in <class:Job>' app/models/job.rb:1:in' app/controllers/jobs_controller.rb:7:in `index'

2 respostas
solução!

Resolvi, apenas excluí o "attr_accessible :description, :title"

Amigo, o Rails 4 trabalha com um método chamado Stron Parameters. A aprtir do Rails 4 nãos e usa mais atrr_acessible nos forms, e a autorização se dá através do próprio controller.

Assim no Rails 4+ o parametro attr_acessible deve ser retirado dos forms.

Isso causa um problema maior, pois apenas retirando os attr_acessible a aplicação roda, mas não autoriza a mudança de parâmetros adicionados depois, como o exemplo "Premium" do exercício.

então o próprio formulário, mesmo contendo a checkbox Premium, não valida o job como Premium.

para autroizar o form a fazer essa modificação, é necessário entrar no Job controller e permitir que a alteração seja feita em

params.require(:job).permit(:title, :description, :premium)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software