小编nix*_*mus的帖子

将Rails视图呈现为电子邮件的字符串

我想每晚午夜从桌子发送电子邮件,所以我创建了一个模型来跟踪要发送的所有通信.该Communication模型存储信件的来源,信息以及要作为html发送的信件的内容.用户输入一个标准以匹配该字母的意图:州,国家,喜欢的颜色等,它返回可接受的匹配列表.

迭代此可接受匹配列表,并为每个匹配生成新的通信.如何将部分视图的内容呈现为字符串以存储在数据库中以便在午夜传递.

@communication = Communication.new(params[:communication])
@communication.body = //Render Partial with local variables to string here
Run Code Online (Sandbox Code Playgroud)

2010年1月8日:我已经实现了中微子提出的解决方案,我的代码如下所示:

@communication.message_body = render_to_string(
  :partial => "letters/small_letter", 
  :locals => { :quote => @quote})
Run Code Online (Sandbox Code Playgroud)

这种方法的缺点是它需要一个上下文,所以它必须在控制器中呈现,这排除了使用rake文件生成电子邮件.正如其他人指出的那样,使用通信模型的方法可能会引入一些不必要的复杂性.此时,由于我用于生成收件人列表的条件从未存储过,因此我选择继续使用通信模型.

ruby-on-rails

30
推荐指数
3
解决办法
2万
查看次数

将Rails应用程序分发为本机应用程序

我想将rails应用程序作为双击应用程序分发.当有人双击应用程序时,我认为应该启动mongrel,然后应该启动用户的浏览器并打开类似localhost:3000的东西我正在努力完成我需要做的事情,我想我我需要在项目中包含一个rails副本,以及一个gem的副本.我需要分发红宝石吗?最初我希望以mac和linux为目标进行分发.有没有人有这样的包装rails应用程序的经验?

我要部署的应用程序是用户媒体的媒体中心服务器.不幸的是,这意味着我无法使用公共服务器来提供媒体服务.我使用ruby on rails和rake任务来构建服务器以导入和管理媒体.有没有一种方法可以让用户轻松安装?这个想法是使用双击应用程序,用户可以轻松地启动和关闭服务器.

ruby linux macos ruby-on-rails

7
推荐指数
1
解决办法
2379
查看次数

Rails - 使用camelize将模型序列化为JSON

我需要将模型序列化为json并使所有键都被骆驼化.我看到to_xml中有一个选项允许使用驼峰.我似乎无法强迫json序列化给我一个camelized哈希.这是铁路可能的东西吗?

serialization activerecord json ruby-on-rails

6
推荐指数
3
解决办法
6012
查看次数

在UIAlertController中的操作下方显示空格

8之前的iOS版本允许我创建一个UIActionsheet显示一组按钮,一些空格,然后是取消按钮的版本.像这样的东西:

期望的行为

但是在iOS 8中,当我尝试创建相同的外观时,我最终会得到如下所示的内容:

iOS 8行为

iOS 8中的代码如下所示:

UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];

[alertVC.view setTintColor:[UIColor copperColor]];

UIAlertAction* notifyViaPush = [UIAlertAction
                        actionWithTitle:@"Send Alert to my phone"
                       style:UIAlertActionStyleDefault
                       handler:^(UIAlertAction * action)
                        {
                            [alertVC dismissViewControllerAnimated:YES completion:nil];
                        }];
UIAlertAction* notifyViaEmail = [UIAlertAction
                         actionWithTitle:@"Notify me by email"
                         style:UIAlertActionStyleDefault
                         handler:^(UIAlertAction * action)
                        {
                            [alertVC dismissViewControllerAnimated:YES completion:nil];
                        }];
UIAlertAction* cancel = [UIAlertAction
                                 actionWithTitle:@"Cancel"
                                 style:UIAlertActionStyleCancel
                                 handler:^(UIAlertAction * action)
                                 {
                                     [alertVC dismissViewControllerAnimated:YES completion:nil];
                                 }];

[alertVC addAction:notifyViaPush];
[alertVC addAction:notifyViaEmail];
[alertVC addAction:cancel];

[self presentViewController:alertVC animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

如何使用UIAlertController对按钮进行分组并在操作和取消按钮之间留出一些空间?

ios ios8 uialertcontroller

6
推荐指数
3
解决办法
3458
查看次数

ActiveRecord加入遗留数据库的表

我有一个遗留数据库,我正在努力让ActiveRecord使用.我遇到了连接表的问题.我有以下内容:

class TvShow < ActiveRecord::Base

  set_table_name "tvshow"
  set_primary_key "idShow"

end

class Episode < ActiveRecord::Base
  set_table_name "episode"
  set_primary_key "idEpisode"
end
Run Code Online (Sandbox Code Playgroud)

然后我有一个名为tvshowlinkepisode的表有2个字段:idShow,idEpisode所以我有2个表和它们之间的连接(所以有多对多关系),但是连接使用非标准外键.我的第一个想法是创建一个名为TvShowEpisodeLink的模型,但没有主键.我的想法是,由于外键是非标准的,我可以使用set_foreign_key并进行一些控制.最后我想说一些像TvShow.find(:last).episodes或Episode.find(:last).tv_show.我如何到达那里?

ruby database legacy activerecord ruby-on-rails

5
推荐指数
2
解决办法
2420
查看次数