在Rails的数据库中保存表单数据(文本字段)

时间:2019-07-18 07:51:15

标签: ruby-on-rails

  • 我已经使用登录和注销创建了一个用户控制器。
  • 登录后,用户应该能够在文本框中输入一些注释,并将其保存在数据库中。

如何将评论与用户相关联。我的用户控制器是

class UsersController < ApplicationController

  def new
  end

  def create
    user = User.new(user_params)
     if user.save
       session[:user_id] = user.id
       redirect_to '/url'
     else
       redirect_to '/signup'
    end
  end 

  def user_params
    params.require(:user).permit(:name, :email, :password, :password_confirmation)
  end

end

我的网址控制器是

class UrlsController < ApplicationController
  def new
  end

  def create
    url = Url.new(url_params)
    url.save
    redirect_to @url
  end    

  def url_params
    params.require(:url).permit(:url)
  end

end

我在url_params中遇到错误。文本字段应该如何?

1 个答案:

答案 0 :(得分:0)

例如,您需要创建评论模型

class Comment < ApplicationRecord
  belongs_to :user
end

class User < ApplicationRecord
  has_many :comments
end

并创建CommentsController

class CommentsController < ApplicationController
  before_action :set_user

  def create
    @user.comments.create(comment_params)
    redirect_to root_url
  end

  private

  def set_user
    @user = User.find(session[:user_id])
  end

  def comment_params
   params.require(:comment).permit(:text)
  end
end