小编Ben*_*Ben的帖子

如何最好地链接到Laravel中的多态关系

模型A有一个多态关系模型X,Y,Z.相关领域A是:

poly_id(整数外键)
poly_type(字符串App\X,App\YApp\Z)

给定一个模型实例A,我可以成功地$a->poly用来检索X,Y或Z类型的相关对象.(例如{"id":1,"name":Object X}).

在Blade模板中A,如何生成显示链接,X例如'/ x/1'?URL::route('x.show', $a-poly_>id)然而,我想到的是,我们实际上并没有可用的路径的"x"部分 - 只有poly_id,poly_type和两个对象.

我错过了什么吗?一个解决方案,比如获取poly_type字符串'App\X'并将最后一个段和小写分开以获得'x',但这看起来并不理想,并且可能定义的路径可能是其他的.

顺便说一句,在Rails中,我很确定你能做到link_to($a->poly),它会神奇地返回URL'/ x/3'.不确定Laravel是否可以做到这一点.我试过url($a->poly)但它不起作用.

php laravel laravel-routing laravel-5.2

7
推荐指数
2
解决办法
726
查看次数

如何使用simple_format或视图格式化模型after_create回调中的HTML

我使用mandrill-api(来自MailChimp)在单个API调用中向许多人发送电子邮件.它需要一个HTML参数,我希望从一个视图而不是直接在我的模型中生成,我无法访问simple_format以应用于我保存在数据库中的纯文本(self.body).

示例代码:

class Request < ActiveRecord::Base

  after_create :attempt_send

  def attempt_send
    require 'mandrill'
    m = Mandrill::API.new
    message = {
     :subject=> "Subject",
     :html => "#{self.body}"
    }
    sending = m.messages.send(message)
    puts sending
  end

end
Run Code Online (Sandbox Code Playgroud)

这种情况让我头疼.我的应用程序的其余部分使用Rails动作邮件程序,因此在视图层中可以干净地处理电子邮件内容.

如果你能告诉我如何以某种方式使用simple_format这将是一个快速修复,以实现我在self.body上需要的格式.我愿意接受更优雅的解决方案,使这个功能更像Rails邮件程序.我考虑过的一个选项是使用控制器方法返回电子邮件html但我认为这会导致自引用http请求,这不是一种有效的方法.开放的想法!

ruby-on-rails ruby-on-rails-3 mandrill

4
推荐指数
1
解决办法
7702
查看次数

Ckeditor 4 - 删除 从Word粘贴后<p> </ p>

从Word粘贴时,Ckeditor 4中的清理通常非常出色.但是,当Word文档格式不理想时,我注意到了两件事:

  1. 如果Word文档包含" &nbsp;&nbsp;",则会在Ckeditor中复制.我想简单地" on paste.

  2. Pasting from Word often creates "<p>&nbsp;</p>".我通过使用部分解决了这个问题fillEmptyBlocks = false,这意味着我留下了" <p></p>".

我不确定如何添加额外的javascript函数来扩展Ckeditor的功能来解决这些问题.Ckeditor 4提供了一个高级内容过滤器,但文档坦率地让我感到困惑,目前尚不清楚它是否可以执行上述操作.

这是我目前的CKeditor config.js:

CKEDITOR.editorConfig = function( config ) {
    config.toolbar = <removed>;
    config.format_tags = 'p;h2;h3;div';
    config.contentsCss = '/css/site.min.css';
    config.height = 500;
    config.removePlugins = 'elementspath';
    config.resize_enabled = false;
    config.allowedContent = true;
    config.fillEmptyBlocks = false;
};
Run Code Online (Sandbox Code Playgroud)

我尝试过这种Ckeditor 3风格的方法,但似乎没有用.evt.data.dataValue确实包含编辑器中的HTML.

CKEDITOR.on('instanceReady', function(ev) {
  ev.editor.on('paste', function(evt) { 
    evt.data.dataValue = evt.data.dataValue.replace('&nbsp;','');
    evt.data.dataValue = evt.data.dataValue.replace('<p></p>;','');
    console.log(evt.data.dataValue);
  }, null, null, 9);
});
Run Code Online (Sandbox Code Playgroud)

答案必须包括通过某种形式的Ckeditor进行粘贴事件,与Ckeditor或ACF交互的功能.请不要建议在PHP中执行此操作 …

javascript ckeditor

3
推荐指数
1
解决办法
6335
查看次数

在Laravel 4.1中形成日期时间选择字段

我的模型有一个event_datetime字段,我想使用datetime select字段在表单上设置它.Rails有datetime_select,它输出以下内容并保存到MySQL datetime列.

日期时间选择

必须默认为当前日期并处理共享的添加/编辑表单.

请不要使用javascript datepickers.

laravel-4

0
推荐指数
1
解决办法
2118
查看次数