簡體   English   中英

rails 4中的虛擬屬性

[英]Virtual attributes in rails 4

我如何在rails 4中使用虛擬屬性(getter,setter),因為'attr_accessible'已被刪除。

我在這里遇到問題

  def tags_list
    @tags = self.tags.collect(&:name).join(', ')
  end

在嘗試更新/創建時,我可以達到上述方法,但無法達到下面的setter。

  def tags_list=(tags)
    @tags = tags
  end

在Rails 4中使用虛擬屬性與使用attr_accessible幾乎相同。 您只需將虛擬屬性添加到控制器中允許的參數(而不是attr_accessible),然后像往常一樣在模型中添加getter和setter方法。

# your_controller.rb
private

def your_model_params
  params.require(:your_model_name).permit(:tags_list)
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM