我有一个专门保存附件的多态类 Attachment,然后我在 User 类中创建和它的关系,如下:
class Attachment < ActiveRecord::Base
belongs_to :attachable, polymorphic: true
validates_attachment :asset, presence: true
end
class User < ActiveRecord::Base
has_one :avatar, as: :attachable, class_name: "Attachment"
accepts_nested_attributes_for :avatar
end
在模板中,我需要让用户上传头像,因此编写了如下代码:
= f.fields_for :avatar do |a|
= a.label :asset, class: :required
= a.file_field :asset
功能上一切正常。问题就是,如何让 Rails 读取到正确的 locale 文件中的字符串?以便在表单的 label 中正确显示?
我试过以下几种,都不行(页面上显示出来的还是“Asset”,而不是翻译出来的字符串):
user:
avatar:
asset: 头像
user/avatar:
asset: 头像
user[avatar]:
asset: 头像
目前唯一可以的,就是:
attachment:
asset: 头像
但这显然不能用,因为并非所有的附件都是头像。
严重降低可读性
这个我不认同
管理员可以在未经同意的情况下编辑发帖人的内容
这就好比你上传了头像也给裁剪成了正方形,这个问题你怎么不纠结
还是上面说的,自动标题加空格初衷是为了改善排版。 如果你执意认为这么不好,那这个我也无话可说。
显式指明需要那个翻译呗……
= a.label t('user.avatar.asset'), class: :required
写成这样又不会怀孕,干嘛一定要在 local 里改
这是两个问题。
空格好不好是另外一码事儿,暂且不说。
可是内容就是另外一回事。管理员以自己的标准修改大家发言的内容,这显然是不合适的。我没有在任何一个网站上,见过发言内容会被网站自行修改的(这和普遍的剪裁头像完全不同)。除非其服务协议有事先声明,但我也没在 Ruby China 上发现此类声明或协议。
综上,管理员(你或者 Daniel?)要么搞一个服务协议,不接受的自然就不来玩;要么真的让它变得“自由和开放”,至少不要修改别人的发言。
那就抛开空格这事情来说,说要不要管理员修改的问题。
在一些表述不清楚、或是内容排版混乱的时候,我们是不是应该适当的修改,让内容正确,比如我们经常会修改那些没正确格式化代码的帖子,让它有代码格式化和着色。(我们目前就是有这么做)
那如果按照你这么说,那用户可以说我就是不想那么排....
我觉得你还是在纠结给你加个空格的问题上面,因为你不认为这么做是对的。
还是那句话,这么做的初衷是改善(当然,这确实我认为的改善)排版
问题就在这儿。如果人家和你的意见不一致-比如,你上贴中第二段话结尾括号的用法是错的,如果你认为这是正确用法,然后按照自己的意见更改了所有人对括号的用法,还说这是别人“表述不清楚……排版混乱”-那么,这显然是说不过去的。
#8 楼 @felixding 的确还未有这样一个服务协议,而我们很少修改或者删除帖子。
通常我自己是这样,看到有明显的错别字我可能会帮助修改,如果内容方面有不合适的地方,比如逻辑错误等,就回复楼主让楼主自己修改。但是从不自主去修改楼主的内容。
#13 楼 @felixding 谢谢互相理解。
我记得最初是 @huacnlee 在论坛上搭建了一个基于 Solr 的全站搜索功能,为了分词的方便,开始建议大家在中英文混合的场景下尽量在英文单词的前后添加空格,目的是为了检索方便。后来慢慢的我自己就养成了这个习惯,当输入英文单词的时候会自觉添加空格。以至于现在论坛有了这个自动添加空格的功能我自己都没有意识到...... XD
我认为你说的有道理,我们应该接受你的意见,擅自修改他人的内容或者格式而未提前告知他人知晓,或者征得他人同意,的确有待商榷。让我们讨论一下,是不是应该去掉这个功能。
1、我相信不加空格的更多,但我不想在此讨论空格到底加还是不加; 2、为什么?因为空格不够“细”就可以随意让管理员修改发言内容? 3、这个我已经回答了,你是管理员,你决定。我只要求不要修改我的发言内容;
你不会修改我本条发言抹黑我吧?玩笑,但道理是一样的:对别人来说,既然你可以增加空格,就也可以修改任何内容。
#8 楼 @felixding 还有,扯出“自由和开放”这个词你有没有想过,如果真的达到所谓的自由开放,那是不是连删帖都不行了?还有我们现在的注册一个星期以后才能发帖这也是侵犯了用户了权利了?
我依然还是那句话,删帖也好、注册一星期才能发帖也好、自动空格也好...这些都是在尝试改善内容。
自动空格这个事情你可以再发帖出来讨论要不要这么做
但是你把这个事情扯到“自由”的高度确实有些过了
#23 楼 @felixding 这里是一个交流技术的论坛,恰当的使用 MarkDown 语法和 在单词前后加空格 这些排版技术,可以方便大家阅读。
如果你觉得我刚才的回复伤害了你,属于对你的人身攻击,那我在这里对你郑重的说一句 对不起 。我本人是有宗教信仰的,最怕伤害别人。你若觉得我的道歉不够真诚,我的邮件是 ***@gmail.com 把你的电话用邮件发给我。我打电话道歉。
本以为是这么小的技术问题讨论了这么多回复,结果进来一看,居然是因为 程序自动化修正排版问题 被楼主认为是 侵犯用户权利,要求提供 许可协议
我觉得楼主应该先了解一下,这个是机器行为,还是管理员人工行为。 即使是(目前显然不是)管理员人工行为,也可以询问一下这样修改的原因。 然后再发表自己的意见也不迟。
如果机器排版行为都被上升到许可协议层面,那所有网站都需要写几百页的许可协议,说明为何表单输入框中的文字,和提交后的文字排版样式不同。 Markdown 这种标记语言更要跪求全世界理解它修改了排版,还吃掉了标记符号