使用Rails中的按钮更新记录?

温斯顿

我正在尝试使用按钮更新Rails应用程序中的记录。我有一个用户,我想更新其school_id值。我有一个学校视图页面,用户可以在其中单击按钮以将该学校的ID添加到用户school_id字段。我正在努力实现。这是我到目前为止的内容:

用户控制器:

def add_school
    @user = User.find(params[:user_id])
    @user.update_attributes(:school_id)

    respond_to do |format|
    flash[:notice] = "School has been added!"
    format.html { redirect_to :back }
    format.js
end

学校显示页面上的按钮:

<%= button_to "Add School", add_school_user_path, :method => "put" %>

我试图通过仅向User控制器中的update动作添加代码来实现此目的的另一种方式,但我也无法使它起作用:

def update
  @user = User.find(params[:id])
  if @user.update_attributes(params[:school_id])
    flash[:notice] = "School has been added!"
    redirect_to @user
  end
  if @user.update_attributes(params[:user])
    flash[:notice] = "Successfully updated account and profile!"
  end
end

将学校ID传递到用户school_id列的最佳方法是什么?

谢谢!!

编辑1:路线

resources :users do
    member do
      get :following, :followers
      put :add_school
    end

更新的控制器:

 def add_school
    @user = current_user
    @school = School.find(params[:id])
    @user.update_attributes(school_id: params[:school_id])

    respond_to do |format|
    flash[:notice] = "School has been added!"
    redirect_to @user.school
    end
  end

更新了按钮链接:

<%= button_to "Add School", add_school_user_path(@user, school_id: @school.id), :method => :put %>

路由错误:

No route matches {:action=>"add_school", :controller=>"users", :school_id=>1, :id=>nil}
阿里耶茹德

您需要一个表格,而不仅仅是一个按钮

<%= form_tag add_school_user_path(@user), method: put do -%>
  <%= hidden_field_tag :school_id, @school.id -%>
  <%= submit_tag 'Add school' -%>
<%- end -%>

您没有提供上下文代码,也许@user和@school不是真正的变量名,但是您可以从中获得想法

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用切换按钮更新Access中的记录

来自分类Dev

使用ajax,Rails,Coffeescript,jQuery更新列表中的记录

来自分类Dev

使用ajax,Rails,Coffeescript,jQuery更新列表中的记录

来自分类Dev

创建后,使用子记录中的信息更新Rails父记录

来自分类Dev

清除在rails中更新的记录的缓存

来自分类Dev

Rails-使用就地最佳更新记录

来自分类Dev

在不使用按钮的情况下更新记录中的单个值?

来自分类Dev

如何使用ajax更新数据库中的记录并在单击按钮时删除表行?

来自分类Dev

如何在Vue js中使用axios更新Rails api数据库中的记录?

来自分类Dev

使用复选框更新选择的表中的多条记录 - Rails

来自分类Dev

在 Rails 中按下按钮后,如何使用排序的电影列表更新我的视图?

来自分类Dev

使用Geopoints更新解析中的记录

来自分类Dev

使用游标更新Temp表中的记录

来自分类Dev

使用某些条件更新表中的记录

来自分类Dev

使用SQLite中的子查询更新记录并添加记录

来自分类Dev

Ruby on Rails:更新数据库中的布尔记录

来自分类Dev

无法创建或更新Rails 4中的belongs_to记录

来自分类Dev

用于更新Rails 4中记录的新表格

来自分类Dev

更新Rails中数量不断增长的所有记录

来自分类Dev

Ruby on Rails在单个查询中更新多个记录

来自分类Dev

使用Bootstrap 3.1.1的Rails中的单选按钮

来自分类Dev

使用Bootstrap 3.1.1的Rails中的单选按钮

来自分类Dev

使用按钮更新Android中的ListView

来自分类Dev

Ajax按钮不再在Rails应用程序中更新

来自分类Dev

榆木-更新记录中的记录

来自分类Dev

Rails 4:我可以使用按钮更新枚举吗?

来自分类Dev

Rails 4不更新记录

来自分类Dev

用rails更新记录4

来自分类Dev

Rails:时间锁定记录更新

Related 相关文章

  1. 1

    使用切换按钮更新Access中的记录

  2. 2

    使用ajax,Rails,Coffeescript,jQuery更新列表中的记录

  3. 3

    使用ajax,Rails,Coffeescript,jQuery更新列表中的记录

  4. 4

    创建后,使用子记录中的信息更新Rails父记录

  5. 5

    清除在rails中更新的记录的缓存

  6. 6

    Rails-使用就地最佳更新记录

  7. 7

    在不使用按钮的情况下更新记录中的单个值?

  8. 8

    如何使用ajax更新数据库中的记录并在单击按钮时删除表行?

  9. 9

    如何在Vue js中使用axios更新Rails api数据库中的记录?

  10. 10

    使用复选框更新选择的表中的多条记录 - Rails

  11. 11

    在 Rails 中按下按钮后,如何使用排序的电影列表更新我的视图?

  12. 12

    使用Geopoints更新解析中的记录

  13. 13

    使用游标更新Temp表中的记录

  14. 14

    使用某些条件更新表中的记录

  15. 15

    使用SQLite中的子查询更新记录并添加记录

  16. 16

    Ruby on Rails:更新数据库中的布尔记录

  17. 17

    无法创建或更新Rails 4中的belongs_to记录

  18. 18

    用于更新Rails 4中记录的新表格

  19. 19

    更新Rails中数量不断增长的所有记录

  20. 20

    Ruby on Rails在单个查询中更新多个记录

  21. 21

    使用Bootstrap 3.1.1的Rails中的单选按钮

  22. 22

    使用Bootstrap 3.1.1的Rails中的单选按钮

  23. 23

    使用按钮更新Android中的ListView

  24. 24

    Ajax按钮不再在Rails应用程序中更新

  25. 25

    榆木-更新记录中的记录

  26. 26

    Rails 4:我可以使用按钮更新枚举吗?

  27. 27

    Rails 4不更新记录

  28. 28

    用rails更新记录4

  29. 29

    Rails:时间锁定记录更新

热门标签

归档