Rails - 有没有办法更新单个属性?
我只是想知道,我有一个模型,除了其他模型 (FK) 的 id 之外,它还有一个属性 boolean
。我想知道如何创建一个按钮来更改此布尔值,而
我的模型就是这个:
class Squad
belongs_to :player
belongs_to :team
end
我想在 team#show 上创建一个按钮页面,以便拥有此团队
的玩家
可以更改小队
的布尔值
。我该如何做到这一点以及我的控制器是什么样子?
谢谢 :)!
-编辑-
我正在使用这样的链接:
<%=link_to("Change status", squad_path(sqd, :status => true), :method => :put, :confirm => "Sure?")%>
其中 sqd
是我的查询的一部分。这个链接是不是错了?
I was just wondering, I have a model that, besides the id's from other models (FK), it has a single attribute boolean
. I want to know how can I create a button that changes this boolean
and just that
My model in question is this one:
class Squad
belongs_to :player
belongs_to :team
end
I want to create a button on the team#show
page so the player
that owns this team
can change the boolean
of squad
. How can I do this and how would look like my controllers?
Thanks :)!
-Edit-
I'm using a link like this:
<%=link_to("Change status", squad_path(sqd, :status => true), :method => :put, :confirm => "Sure?")%>
Where sqd
is part of my query. Is this link wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在你的控制器中(这很常见)
in your controller (it is pretty common)
是的,有。该方法称为“update_attribute”。它有两个参数:字段的名称和值。
基于更新的问题
Yes there is. The method is called "update_attribute". It takes two arguments, the name of the field and the value.
Based on updated question
你的属性名称是什么?
由于它属于
player
,因此您可以使用player.squad.name_of_your_attributes = new_value
访问它。如果您希望将更改保存在数据库中,请不要忘记保存
您的对象。另外,您可以阅读
编辑:fl00r回答了您编辑的问题,没有我需要重复他写的内容。
What's the name of your attributes ?
Since it belongs to
player
, you can access it withplayer.squad.name_of_your_attributes = new_value
. Don't forget tosave
your object if you want the changes to be saved in your DB.Also, you could read that
EDIT: fl00r answered your edited question, no need that i repeat what he wrote.