要解决"Active Record的has_many: messages无法正确保存记录"的问题,可以尝试以下解决方案:
class User < ApplicationRecord
has_many :messages
end
class Message < ApplicationRecord
belongs_to :user
end
user = User.find(1)
message = Message.new(content: "Hello, World!", user_id: user.id)
message.save
# messages_controller.rb
def create
@user = User.find(params[:user_id])
@message = @user.messages.build(message_params)
if @message.save
redirect_to user_path(@user)
else
render 'new'
end
end
private
def message_params
params.require(:message).permit(:content)
end
在表单中,确保将用户的ID传递给消息的user_id字段。
class Message < ApplicationRecord
belongs_to :user
# 确保没有任何验证器阻止保存
validates :content, presence: true
end
希望以上解决方案能够帮助你解决"Active Record的has_many: messages无法正确保存记录"的问题。如果问题仍然存在,请提供更多的细节,以便我们能够更好地帮助你解决问题。