小编Sté*_*e V的帖子

根据2列定义唯一主键

我想根据2列定义记录的唯一键:'id'和'language'

让用户提交以下字符串:id = 1 language = en value = blabla english id = 1 language = fr value = blabla french

我尝试使用set_primary_key和add_index,但它不起作用(add_index:words,["id","language_id"],:unique => true)

我有以下型号:

class Word < ActiveRecord::Base
  belongs_to :dictionnary
  belongs_to :language

  attr_accessible :lang, :rev, :value, :dictionnary_id, :language_id

  validates :value, :uniqueness => true

end  
Run Code Online (Sandbox Code Playgroud)

还有这个

class Language < ActiveRecord::Base
    has_many :words

    attr_accessible :lang
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails primary-key composite-primary-key

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

Rails渲染部分Ajax错误但是调试器中显示正确的响应

我正在尝试使用不引人注目的Javascript在现有链接上触发附加的ajax查询.

Query将进入服务器并进行处理,为测试返回字符串"javascript template ok".

但是,ajax"成功"功能从未被调用过.在适当的位置,它是触发的"错误"功能......

我查看了Chrome调试器,我可以看到从服务器返回的响应文本,但从来没有被称为"成功"的方法...... :-(

我的电话是

jQuery.ajax({
    type: 'POST',

    success: function(response) {   
        $("#details").html(response);
        console.log(response);
    },
    error: function(){ 
        alert("Error\nData could not be retrieve from the server");
    },
    url: '/treeview/show/1538.js',
    cache: false,
});
Run Code Online (Sandbox Code Playgroud)

(在此示例中,url被编码).浏览器中的相同Url获取没有布局的正确数据:-)

删除url中的".js"会返回带有布局的html模板,并且正确地实现了"details"div的更新...

控制器是

    respond_to do |format|
      format.html # show.html.erb
      format.js   { render :inline => "JAVASCRIPT TEMPLATE !" }
    end
Run Code Online (Sandbox Code Playgroud)

谢谢

编辑:

这是从ajax查询返回的对象(错误的第一个参数:function(jqXHR)):

Object
    abort: function ( statusText ) {
    always: function () {
    complete: function () {
    done: function () {
    error: function () {
    fail: function …
Run Code Online (Sandbox Code Playgroud)

javascript ajax ruby-on-rails

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

在Drupal 7中为表单调用自定义Theme()函数

Drupal不会在我的模块中为我的表单调用我的主题函数.

我在.module文件中添加了hook_theme,如下所示:

function agil_theme() {
    return array(
        'agil_list_form' => array(
            'render element' => 'form',
        ),
    );
}
Run Code Online (Sandbox Code Playgroud)

其中:

  • agil是我模块的名称(不是我的主题)
  • agil_list_form是我的表单声明的名称(使用默认主题的chich呈现)

我想调用一个函数来创建我自己的标记,如下所示:

function theme_agil_list_form($form) {
  $output  = "<table><th><td></td><td>".t('Title')."</td><td>".t('Link')."</td></th>";
    $output .= "<tr><td>";
  $output .= drupal_render($form['name']);
  ...
Run Code Online (Sandbox Code Playgroud)

但是Drupal从来没有调用过这个函数......我清除了缓存但没有...

我在哪里想念什么?

我还读到了关于Drupal 7中新主题声明的内容:http: //drupal.org/update/modules/6/7#hook_theme_render_changes

hook themes drupal

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

Ubuntu 20.04:HDMI 输出不工作 Nvidia GT 620M

在使用 NVIDIA 显卡 Geforce GF108M [GeForce GT 620M/630M/635M/640M LE] 重新安装 Ubuntu 20.04 时,HDMI 输出不工作,驱动程序似乎也不工作。

ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00000DE9sv00001043sd00001477bc03sc00i00
vendor   : NVIDIA Corporation
model    : GF108M [GeForce GT 620M/630M/635M/640M LE]
driver   : nvidia-driver-390 - distro non-free recommended
driver   : nvidia-340 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin
Run Code Online (Sandbox Code Playgroud)

缺少两个依赖项:xser​​ver-xorg-video-nvidia-390 和 ibnvidia-cfg1-390

ubuntu nvidia hdmi ubuntu-20.04

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