我是rails的新手,我有一个疑问。我们发送的params []应该是我们的数据库列名吗?或者我们可以发送什么?如果是,那么我们如何在控制器中访问它们?
提前致谢。
答案 0 :(得分:0)
你可以传递任何东西。
for examlpe - 通常的链接:project.dev/post?id=2&anything=true
。现在你有params:id, anything
- 要获得访问权限,你可以在控制器中插入:params[:id]
- 2和/或params[:anything]
- true
另外,您可以使用link_to
方法将任何内容传递给params。例如:link_to "user", users_path(id: @user.id, some: "string param", or: :symbol)
如果要检查当前参数,可以在当前控制器中插入此操作:
raise params.inspect
答案 1 :(得分:0)
如果您在ActiveRecord模型上创建或更新,则params将采用嵌套哈希。对于名为User的模型,params散列可能看起来像:
params = { :something => 'whatever', { :user => { :name => 'Flip Wilson' } } }
在您的控制器中:
def create
if @user = User.create(params[:user])
...
end
end