#1 楼 @1010printing 是Ruby on Rails
少了一个s
惠州有什么学 rails 的小伙伴吗?
hooooopo 哥,文章都搬哪里去啦。有篇说图片的初始化的文章急需啊。
你的 submit 给一个 name 值:
<%= f.submit '暂存', class: 'btn btn_lg btn-success', id:'staging_btn', name: "staging_btn" %>
然后后台:
if params[:staging_btn].present?
不知道这个是不是你想要的结果。
#9 楼 @shangrenzhidao 我觉得 #5 楼 给的源码讲的挺好的。 form_for 是生成 html,不会跟服务器产生什么联系的,跟服务器联系的是 html 的
,可以看看怎么和服务器产生联系的。 所以 form_for 是根据封装好的 model 生成对应的 html,特别是 input 里面的 name 和 value 属性,如你 model 是 product 且有字段为 name,那就生成的 name 为 name="product[name]",而如果是 edit 的情况,还会赋予对应的 value 值。 而 form_tag 则不对 objec 进行操作,且生成的 input 的 name="xxx"。 不知道我讲的清楚吗?楼主说的应该是:
redirect_to info_path, notice: '信息修改成功' and return
我在建新项目的时候,没有 return,发现也没有出问题,当时也在好奇这个事情。
#3 楼 @jasl 确实,可以通过/404 /500 /422
来查看页面样式,你不说我还真忘了。
我一般做法就是,设置:
# config/environments/development.rb
config.consider_all_requests_local = false
也只是查看 404 页面是否指向 route 的页面,就是是否已经生效和会不会产生 rails 自带的 500 错误,如果没有问题后,还是把设置改为true
。毕竟开发环境有问题弹出 500 之类的也不太好。
然后你说到的raise RoutingError
和config.action_dispatch.show_exceptions = true
,是什么时候需用用上就不太了解。
第三版预览版现在有的看不?
我想知道,用 PostgreSQL 后,因为事务的问题,参考:https://ruby-china.org/topics/19499?page=1#reply28
隔离级别是修改为repeated read
还是说使用默认的+乐观锁
呢?
可以尝试使用这个 gem,https://github.com/leshill/handlebars_assets
当然,其实在hbs
文件后面,加上hbs.erb
,然后<img src="<%=asset_path('logo.png')%>">
也是可行的。
用正则提出,然后用 markdown 转成 html,这个是我的做法。也可以直接转成 html。 代码地址: 从内容处提出 user 生成一个 notifications
def convert_content
if self.content.include?("@")
users = find_user_in_content
users.each do |user|
url = "[@#{user.name}](/users/#{user.id})"
self.content.gsub!(/(@#{user.name})/, url)
end
end
self.content = markdown(self.content)
true
end
def format_user_in_content
self.content.scan(/@([\w\u4e00-\u9fa5]{2,20})/).flatten
end
def find_user_in_content
User.where(name: format_user_in_content)
end
def markdown(text)
markdown_render = Redcarpet::Render::HTML.new(hard_wrap: true, no_styles: true)
markdown = Redcarpet::Markdown.new(markdown_render, autolink: true, no_intro_emphasis: true)
markdown.render(text).html_safe
end
#13 楼 @HungYuHei 这样的吗? 但是如果像是 before_save 或者 after_save 的话,如果存 a 之后,update b 和 c。但是不要出现 a 存了,而 b 和 c 没有 update 的情况。
Model A < ActiveRecord::Base
after_save do
transaction do
b.update!(xxx: xxx)
c.update!(xxxx: yyyy)
end
end
end
像这样的情况,应该怎么把 A 也放到事务里?还是说都用around_save
?