如何在rails中发送参数?

时间:2012-02-03 18:28:43

标签: ruby-on-rails-3

我是rails的新手,我有一个疑问。我们发送的params []应该是我们的数据库列名吗?或者我们可以发送什么?如果是,那么我们如何在控制器中访问它们?

提前致谢。

2 个答案:

答案 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