Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fellson

Não consigo puxar dados de uma tabela...

Recommended Posts

Ola, primeiramente obrigado por estar tentando me ajudar,

sou iniciante em rails e venho do asp, estou fazendo uma aplicação em rails onde tenho um db com duas tabelas: "users" e "teams", criei uma terceira tabela chamada "captain" onde pega 2 dados, "user_id"(que vem da tabela "users") e a "team_id"(que vem da tabela "teams"),

acontece que eu tenho q pegar o dado da coluna "first_name" que esta dentro da tabela "users" indicado pelo "user_id" que esta na tabela "captain". os dados que pucho diretamente da tabela "users" e "teams" consigo normalmente, mas esses q passam na tabela "captain" não consigo...

Sera que fico confuso? haruhuaruhrauhrau

agradeço desde já.

team.rb
class Team < ActiveRecord::Base
	has_many :users
	belongs_to :game
	has_one :user, :through => :captain
	validates :name, :presence => { :message => " vamos ver se vai" }

	extend FriendlyId
  friendly_id :name, use: :slugged
  

end
user.rb
class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

         
         has_many :invites
         has_and_belongs_to_many :games
         has_one :captain
         has_one :team, :through => :captain
        

  def full_name
          first_name + " " + last_name
  end

  def full_nickname
  	first_name + " " + '"'+nickname+'"' + " " + last_name
  end
  mount_uploader :avatar, AvatarUploader


end
captain.rb
class Captain < ActiveRecord::Base
belongs_to :user
belongs_to :team


end
show.html.erb
<p id="notice"><%= notice %></p>
<h1>Pagina do <%= @team.name %></h1>
<p>
  <strong>Name:</strong>
  <%= @team.name %> //aqui o dado aparece q é uma beleza....
</p>

<p>
  <strong>Captain:</strong>
  <%= @captain.user_id %>  //aqui ele da e acusa o erro...
</p>

obrigado novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Anderson.... primeiramente obrigado por estar me ajudando.

o colocando has_one :captain no team.rb e <%= @team.captain.user_id %> na show, ela diz esse erro:

attr_accessible` is extracted out of Rails into a gem. Please use new recommended protection model for params(strong_parameters) or add `protected_attributes` to your Gemfile to use old one.

minha ideia eh pegar o "nome" do pessoa que esta dentro da tablea "users" indicado pelo "user_id" da tabela "captains".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este erro não está relacionado à relação, no Rails 4 o attr_accessible deixou de ser padrão, se você quer voltar a usar como no Rails 3 use esta gem:

 

gem 'protected_attributes'

 

http://stackoverflow.com/questions/17371334/how-is-attr-accessible-used-in-rails-4

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.