一、关于我对model的理解
一个model对应的就是数据库中的一张表,@users=User.all就是返回控制器User对应的表中的所有记录,并将结果赋值给变量users。
@users = User.all
这条语句让 User 模型从数据库中检索所有用户
,然后把结果赋值给 @users 变量。User 。具体而言,使用 Rails 中
名为 Active Record 的库后,User.all 就能返回数据库中的所有用户。
二、ruby中的@
Ruby 支持五种类型的变量:
一般小写字母、下划线开头:变量(Variable)。
$开头:全局变量(Global variable)。
@开头:实例变量(Instance variable)。
@@开头:类变量(Class variable)类变量被共享在整个继承链中
大写字母开头:常数(Constant)。
例如上面一中的@users就是一个实例变量,对应的类是User类。
三、link_to方法
link_to 方法是 Rails 内置的视图辅助方法之一,用于创建基于链接文本和地址的超链接。我的理解是
四、view获取url参数、view传递参数到控制器
<%= link_to 'Yes', { :action => 'vote', :id => poll[:id], :answer => 'yes', :project_id => request.GET['project_id'] }, :method => :post %> (<%= poll.yes %>) /
路由对应的为:
post 'polls/:id/vote', :to => 'test#vote'
备注:这里的request.GET[‘project_id’]
最后跳转的链接为:
/polls/2/vote?answer=yes&project_id=test
五、控制器获取view传递过来的参数并打印调试
获取view传递过来的参数:
p params[:answer]
p params[:project_id]
打印调试:
p print puts