gpt4 book ai didi

ruby-on-rails - Controller 与rails中的多个 Controller 相关

转载 作者:行者123 更新时间:2023-12-04 05:45:54 25 4
gpt4 key购买 nike

我认为这是一个艰难的过程。我有一个评论 Controller ,我想将其用于所有其他 Controller :例如书籍、标题等。

问题是,评论中的创建操作是:

  def create
@book = Book.find(params[:book_id])
@comment = @book.comments.create!(params[:comment])
respond_to do |format|
format.html {redirect_to @book}
format.js
end

结束

那么如果明显使用书籍属性,我该如何使用标题的 Action 和评论 Controller ?

最佳答案

我假设您在评论上设置了多态关联,因此它可以属于许多不同类型的模型?看看this Railscasts episode它向您展示了如何设置它以及 Controller 操作。这是代码的关键部分。

# comments_controller
def create
@commentable = find_commentable
@comment = @commentable.comments.build(params[:comment])
if @comment.save
flash[:notice] = "Successfully created comment."
redirect_to :id => nil
else
render :action => 'new'
end
end

private

def find_commentable
params.each do |name, value|
if name =~ /(.+)_id$/
return $1.classify.constantize.find(value)
end
end
nil
end

# routes.rb
map.resources :books, :has_many => :comments
map.resources :titles, :has_many => :comments
map.resources :articles, :has_many => :comments

关于ruby-on-rails - Controller 与rails中的多个 Controller 相关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1281038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com