我希望能够单击链接并使用强参数更新 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>
这将以典型的方式排列参数。 这就是你所追求的吗?