如何使用带有强参数的 Rails4 中的链接更新属性



我希望能够单击链接并使用强参数更新 rails4 中的属性is_public。这是我当前的代码:

<small><%= link_to "make private", property_url(@property,is_public: !@property.is_public), method: "patch" %></small>

我遇到的问题是,在控制器中,强参数将收到 .permit 方法的 No 方法 for Nil 类,因为它不会创建params[property][:is_public]。它只是创建属性的params[:is_public]和 ID。

有没有一种 rails 方法让它在对象中嵌套参数,或者我是否必须对此进行硬编码(我什至不喜欢硬编码我的名字)?

如果您说希望链接背后的操作能够通过以下方式更新其数据:

@property.update(property_params)

其中强参数如下所示:

def property_params
  params.require(:property).permit(:is_public)
end

然后我认为您可以将链接定义为:

<small><%= link_to "make private", property_url(@property, property: { is_public: !@property.is_public }), method: "patch" %></small>

这将以典型的方式排列参数。 这就是你所追求的吗?

相关内容

  • 没有找到相关文章

最新更新