.form
= form_for [@group, @message] do |f|
= f.text_field :content, class: 'form__message', placeholder: 'type a message'
.form__mask
= f.label :image, class: 'form__mask__image' do
= fa_icon 'picture-o', class: 'icon'
= f.file_field :image, class: 'hidden'
= f.submit 'Send', class: 'form__submit'
プログラミング初心者です。
以上の文でメッセージ投稿機能を実装させたいです。
必要なコントローラとアクションとアクション内での記述がわかりません。
アソシエーション組んでます。
class Message < ApplicationRecord
belongs_to :group
belongs_to :user
validates :text, presence: true, unless: :image?
#mount_uploader :image, ImageUploader
end
class User < ApplicationRecord
Include default devise modules. Others available are:
:confirmable, :lockable, :timeoutable, :trackable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable
has_many :groups, through: :members
has_many :messages
has_many :members
end
class Member < ApplicationRecord
belongs_to :group
belongs_to :user
end
class Group < ApplicationRecord
has_many :members
has_many :users, through: :members
has_many :massages
validates :name, presence: true, uniqueness: true
end
以上の4つです。 DBも同じ名前で作成しています。
あなたの回答
tips
プレビュー