gpt4 book ai didi

ruby-on-rails - Ruby on Rails : Acts as taggable on gem, 在模型中使用上下文

转载 作者:数据小太阳 更新时间:2023-10-29 07:07:03 26 4
gpt4 key购买 nike

我想知道是否有人可以帮助我理解文档中的这一部分:

With the defined context in model, you have multiple new methods at disposal to manage and view the tags in the context. For example, with :skill context these methods are added to the model: skill_list(and skill_list.add, skill_list.remove skill_list=), skills(plural), skill_counts.

我有这个:

型号:

class Project < ActiveRecord::Base
acts_as_taggable # Alias for acts_as_taggable_on :tags
acts_as_taggable_on :item
end

Controller :

def project_params
params.require(:project).permit(
:user_id, :tag_list)
end

查看

<%= f.text_field :tag_list %> <!-- wrapped in a simple_form -->

所以我的问题是...这是否意味着,如果我的模型中有 :items,我可以将所有 :tag_list 替换为 :item_list ?从现在开始只使用 item_list 吗?我试过了,但它产生的结果与我目前的结果不一样……也许我在某个地方搞砸了,但这“理论上”正确吗?

谢谢

奖励:

所以最终,如果我要标记不止一件东西:

acts_as_taggable_on :item, :more_taggable_item

我可以把它放在我的强参数中

params.require(:project).permit(
:user_id, :tag_list, :more_taggable_item_list)

然后我可以在我的 View 中使用它:

<%= f.text_field :more_taggable_item_list %>

最佳答案

我想您必须像文档中那样使用复数形式。所以 :items 而不是 :item:more_taggable_items 而不是 :more_taggable_item。在创建正确的命名规则时,Rails 提供了许多可用于 gems 的功能,好的 gems 会利用它。

# model
class Project < ActiveRecord::Base
acts_as_taggable_on :items, :more_taggable_items
end

# params
def project_params
params.require(:project).permit(
:user_id, :item_list, :more_taggable_item_list)
end

# view
<%= f.text_field :item_list %>
<%= f.text_field :more_taggable_item_list %>

关于ruby-on-rails - Ruby on Rails : Acts as taggable on gem, 在模型中使用上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31495964/

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