我已经在Ruby编写了一段时间,但我不明白何时使用:
def self.METHOD_NAME
end
Run Code Online (Sandbox Code Playgroud)
要不就:
def METHOD_NAME
end
Run Code Online (Sandbox Code Playgroud)
在任何Rails模型中."self"是Java中的私有修饰符吗?什么时候应该使用它,何时不使用?万分感谢.
我有一个用户和个人资料模型.一个用户可以拥有许多配置文件 在用户创建过程中,我只需要在我的用户模型中访问配置文件部分中的一个信息(即电话号码).因此,我正试图通过它完成它attr_accessible.我的user.rb看起来像这样.
has_many :profiles
attr_accessible :handle, :email, :password, :profile_mobile_number
attr_accessor : :profile_mobile_number
Run Code Online (Sandbox Code Playgroud)
我面临的问题是,当我尝试在user.rb中的方法中调用getter方法profile_mobile_number时(该方法是私有的,虽然我认为无所谓),但我得到一个空值.我在users/new.html.erb表单中使用以下内容
我的问题是这样做的正确方法是什么?我应该使用<% f.fields_for :profile do |ff| -%>或<% f.fields_for :profiles do |ff| -%>(注意第二个是复数).当我使用复数:配置文件时,我甚至看不到表单上的字段.我在这里错过了什么?什么是需要在模型user.rb中使用的时态?:profile_phone_number或:profiles_phone_number?谢谢.
我刚刚开始使用git,我有一个问题.我的应用程序有10个其他开发人员在使用它,每个开发人员都有自己的分支,如dev_XXXXX.因此,如果我对存储库进行克隆,那么他们的所有代码都会被复制到我的机器上吗?在那种情况下,我不想要那样.假设我的分支是dev_swamy,那么如何克隆稳定分支和dev_swamy呢?谢谢.
我正在使用rails应用程序来从abc.com提供页面.在其中,我在应用程序控制器中设置了响应头(对于通过before_filter的每个请求),以便只能通过以下代码从特定站点(xyz.com)通过iframe访问它:
def set_x_frame_options
response.headers["X-Frame-Options"] = "ALLOW-FROM http://www.xyz.com"
end
Run Code Online (Sandbox Code Playgroud)
问题是,我不仅可以从xyz上的abc.com访问该页面,还可以访问任何其他网站.我想限制只访问xyz.com.当我在chrome控制台中检查响应头时,我可以看到正确传递了X-Frame-Options.所有浏览器都会发生这种情况.我错过了什么吗?
iframe google-chrome ruby-on-rails http-headers x-frame-options
我有一个Project模型,它接受任务的嵌套属性.而Task有一个虚拟属性"name".因此,每次更改名称时,它都会在更新前保持为encrypted_task_name.在项目编辑页面上,表单具有任务名称的输入字段(而不是encrypted_task_name).当我更改名称并且因为name是虚拟属性时,Rails不检测Task中的更改,并且在更新Project时不会更新该任务.
即使在项目更新期间更改了虚拟属性,如何确保保存任务?
我不想使用的一个选项是:task.rb上的autosave => true,因为我的任务很少更新.
我正在Facebook上制作应用程序并选择了iframe而不是FBML.我面临的问题是链接到应用程序的各个其他页面.假设我在http://fbapp.mysite.com上托管了我的应用程序,我想链接http://fbapp.mysite.com/page1,我应该如何在iframe中执行此操作?直接链接到fbapp.mysite.com/page1只需将整个浏览器窗口从facebook.com重定向到fbapp.mysite.com.我仍然希望应用程序非常"活"在画布页面内,但是想要导航到page1.任何帮助将不胜感激.
我在拖动列表中有一个项目池,它使用connectToSortable选项连接到可排序项.现在我想从此排序列表中删除一些项目并将它们移回拖动列表.有点像撤消.假设用户将大约5个项目移动到排序列表并决定他/她只想要4个项目,并决定只将不需要的项目从排序列表拖到拖动列表中.如何在排序列表中添加"删除"链接的情况下完成此操作.非常感谢.欲了解更多信息,请参阅http://the-stickman.com/web-development/javascript/jquery-dropping-items-from-a-draggable-list-to-a-sortable-list/
我的rails应用程序中有两个表单.它们都存在于单独的选项卡中,当我提交一个表单时,我希望保存另一个表单中的数据.我该怎么办?或者有更好的方法来做这个而不是使用两个单独的形式?有没有更好的方法将长格式分散到多个标签中,当我按下提交时,所有标签中的所有数据都应该达到我的操作.谢谢.
我的routes.rb中有以下内容
map.resources :novels do |novel|
novel.resources :chapters
end
Run Code Online (Sandbox Code Playgroud)
通过上面定义的路由,我可以使用访问章节xxxxx.com/novels/:id/chapters/:id.但这不是我想要的,章节模型有另一个叫做数字的字段(对应章节编号).我想通过URL来访问每一章
xxxx.com/novels/:novel_id/chapters/:chapter_number.如何在不明确定义命名路由的情况下完成此操作?
现在我通过使用以下命名路径定义ABOVE map.resources:novels来做到这一点
map.chapter_no 'novels/:novel_id/chapters/:chapter_no', :controller => 'chapters', :action => 'show'
Run Code Online (Sandbox Code Playgroud)
谢谢.
我有一个反应引导工具提示,除非我靠近窗口的边缘,否则效果很好.在这种情况下,我希望工具提示不会被切断,但需要调整大小以适应全文并在所有方面都有边框.
我还希望工具提示箭头指向触发元素的正上方(在我的例子中是'i'图标).
我的猜测是,这需要ReactBootstrap.Tooltip在渲染后使用DOM .我需要能够计算它的当前大小和窗口顶部和左侧偏移位置,然后重新定位/重新调整大小.
这是我当前的代码(在CoffeeScript中):
define [
'jquery',
'es6-shim',
'react',
'react-bootstrap'
], ($, _shim, React, ReactBootstrap) ->
{div, i, h2} = React.DOM
ToolTipHint = React.createFactory(
React.createClass
render: ->
tooltip = ReactBootstrap.Tooltip className: 'hint-content',
h2 className: 'hint-title', @props.fieldName
div className: 'hint-text', @props.tooltip
ReactBootstrap.OverlayTrigger(
trigger: ['hover']
placement: 'top'
overlay: tooltip
delayShow: 300
deplayHide: 150,
div className: 'hint-icon-container',
i className: 'gg-icon-tooltip hint-icon'
)
)
Run Code Online (Sandbox Code Playgroud)
这是问题的截图:

我该如何解决这个问题?
ruby ×3
iframe ×2
javascript ×2
activerecord ×1
draggable ×1
facebook ×1
forms ×1
git ×1
git-clone ×1
html ×1
http-headers ×1
jquery ×1
nested-forms ×1
reactjs ×1
routes ×1