有沒有什麼方法可以讓我在rails方法名中使用'@'符號?例如在rails方法名中使用@符號
def @method_name
end
Rails似乎並不喜歡它。
我想要遵守一些外部約定(外部導軌)。
有沒有什麼方法可以讓我在rails方法名中使用'@'符號?例如在rails方法名中使用@符號
def @method_name
end
Rails似乎並不喜歡它。
我想要遵守一些外部約定(外部導軌)。
它可以這樣做:
define_method('@test') do
'test'
end
這種方法則已經與被稱爲:
model.send('@test')
我不會推薦它,因爲這將是醜陋的和複雜的,這是反對紅寶石哲學。但這是可以完成的。
謝謝,正是我需要的。 – user3711600 2014-10-23 11:01:06
我結束了使用什麼:
在我的控制器:
@job = Job.first
render :json @job.as_json(methods: :@id)
在Job.rb現在
define_method('@id') do
return url_for(:controller => 'jobs', :action => 'create', :id => id)
end
當我渲染我的JSON我得到:
"@id":"http://localhost:3000/jobs?id=1"
注:@id是符合JSON-LD的語法
簡單的事情,我可以說的是,'@'符號有特殊含義很多編程語言。因此,任何強制使用它的慣例(根據我自己的看法)都是錯誤的慣例。 – 2014-10-22 10:50:23