gpt4 book ai didi

ruby-on-rails - 如何使用 link_to 从 Controller 调用方法?

转载 作者:太空宇宙 更新时间:2023-11-03 17:21:29 25 4
gpt4 key购买 nike

我希望我的应用在 current_user 单击链接时向他添加一本书。我的代码似乎没问题,没有错误,但在用户点击链接后没有任何反应。

书.rb:

has_many :book_users
has_many :users, through: :book_users

用户.rb:

has_many :book_users
has_many :books, through: :book_users

book_user.rb:

belongs_to :book
belongs_to :user

books_controller.rb:

before_action :is_admin?, except: [:book_params, :add_to_books_i_read, :index]
before_filter :authenticate_user!
expose(:book, attributes: :book_params)
expose(:books)


def create
if book.save
redirect_to(book)
else
render :new
end
end

def update
if book.save
redirect_to(book)
else
render :edit
end
end

def add_to_books_i_read(book_id)
current_user.books << Book.find(book_id)
end

在我的索引 View 中我有

ul
-books.each do |book|
li
= link_to "#{book.name}", book_path(book)
= link_to " Add to my books", {:controller => "books", method: :add_to_books_i_read, book_id: :book.id}

那么,我做错了什么?为什么我的方法 add_to_books_i_read 什么都不做?单击此 link_to 后,数据库 book_users 中的表不会记录任何内容,但它本身运行良好(我通过控制台检查过)。我能做些什么?如何让用户通过该方法添加图书以及如何正确调用该方法?我们将不胜感激,谢谢!

最佳答案

  = link_to "  Add to my books", {:controller => "books", action: :add_to_books_i_read, book_id: :book.id}

关于ruby-on-rails - 如何使用 link_to 从 Controller 调用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36765987/

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