0

私はレールが初めてです。質問を投稿する前に、答えを探していました。私が見つけた2つの答えはうまくいきませんでした。

そのため、モデルの「post」と「devise」の gem をインストールして構成しました。

次に、ユーザーに「ユーザー名」を追加しました

rails generate migration add_username_to_users username:string

その後の関係

ユーザー --> 多数あり、投稿 --> ユーザーに属しています。

しかし、私は立ち往生しています。

投稿でレンダリングするユーザー名を正確に取得するにはどうすればよいですか?

<%= post.user.username =%> ?

他に何をする必要がありますか?

post.rb

class Post < ActiveRecord::Base
  attr_accessible :postbody, :posttitle
  validates_presence_of :postbody, :posttitle
  belongs_to :user

end

user.rb class User < ActiveRecord::Base

# Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable,
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :username, :email, :password, :password_confirmation, :remember_me
  # attr_accessible :title, :body

  has_many :posts

end

4

2 に答える 2

0

「工夫する」という意味でしょうか。エラーについてはわかりませんが (移行全体が表示される可能性があります)、移行を追加するのではなく、データベースをリセットすることをお勧めします。置くだけ

t.string :username

create_users 移行に。それで

rake db:migrate:reset
于 2013-03-02T12:58:52.417 に答える
0

発生しているエラーの種類については言及していません。しかし、未定義の属性についてエラーが発生している可能性があります。モデルに追加attr_accessible :usernameして、ユーザー名にアクセスできるようにします。User

于 2013-03-02T12:01:43.620 に答える