Fellson 0 Denunciar post Postado Abril 10, 2015 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
Anderson Danilo 43 Denunciar post Postado Abril 11, 2015 Olá Fellson, Qual a mensagem de erro? Adicione na class Team has_one :captain e na view você vai poder usar <%= @team.captain.user_id %> Compartilhar este post Link para o post Compartilhar em outros sites
Fellson 0 Denunciar post Postado Abril 13, 2015 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
Anderson Danilo 43 Denunciar post Postado Abril 14, 2015 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