我曾经更像是一个业余爱好的Java人,现在尝试切换到Ruby on Rails.但是我有一些困难,信不信由你,我喜欢大括号和分号......给一些方向.
但问题是:现在我正在参加RoR的在线课程,它发生在我身上,我对如何使用符号,哈希等问题总是错误的.
示例1:让我们看一下这一行代码,例如:
form_for(:session, :html => {class: "form-horizontal", role: "form"}, url: login_path)
Run Code Online (Sandbox Code Playgroud)
这就是我读它的方式:
方法/函数名称是
form_for
Run Code Online (Sandbox Code Playgroud)
解析为此方法的参数是:
:session, :html => {class: "form-horizontal", role: "form"}, url: login_path
Run Code Online (Sandbox Code Playgroud)
让我们把它分解成
:session
:html => {class: "form-horizontal", role: "form"}
url: login_path
Run Code Online (Sandbox Code Playgroud)
我该怎么知道如何申报这些参数?为什么:session和:html passend作为键和url而不是?:html符号是Hashmap符号吗?
在模型文件中,您声明这样的n:m关系(例如用户< - >股票)
has_many :users, through: :user_stocks
Run Code Online (Sandbox Code Playgroud)
好吧,我得到的第一个参数是:用户和第二个是相同的
:through => :user_stocks
Run Code Online (Sandbox Code Playgroud)
正确?
但是以同样的方式,让我们看看同一个项目中的routes.rb配置:
resources :user_stocks, except: [:show, :edit, :update]
Run Code Online (Sandbox Code Playgroud)
现在我们在except hash上使用一组键,对吗?在写一个问题时它确实更清楚但是,是否有关于何时使用的经验法则
:name
name: value
:name => {values}?
name: [values]
Run Code Online (Sandbox Code Playgroud)
或者这仅仅是个人偏好?在这种情况下,我希望我的在线教师保持一致..
一般来说,我对参数语法约定是如何以及何时使用什么(什么类型的参数)感到困惑.是因为我是从Ruby开始还是我错过了一些约定.
我希望我的问题是可以理解的,并原谅我的英语 - 非母语人士.我真的很想和RoR相处,但是现在看在线课程有时让我比以前更加困惑,因为如果我自己完成它,我会用完全不同的方式.